Here’s the latest version that addresses all the current open issues: webrev: http://cr.openjdk.java.net/~vinnie/8170769/webrev.07/ <http://cr.openjdk.java.net/~vinnie/8170769/webrev.07/> javadoc: http://cr.openjdk.java.net/~vinnie/8170769/javadoc.07/api/java.base/java/util/HexFormat.html <http://cr.openjdk.java.net/~vinnie/8170769/javadoc.07/api/java.base/java/util/HexFormat.html>
CSR: https://bugs.openjdk.java.net/browse/CCC-8170769 <https://bugs.openjdk.java.net/browse/CCC-8170769> > On 7 Dec 2018, at 19:51, Vincent Ryan <vincent.x.r...@oracle.com> wrote: > > Even shorter. I’ll add that instead. > Thanks. > >> On 7 Dec 2018, at 19:04, Roger Riggs <roger.ri...@oracle.com> wrote: >> >> Hi, >> >> I don't think this is performance sensitive and less code is better. >> >> Use java.lang.Character.digit(ch, 16) to convert the char to an int. >> >> Roger >> >> On 12/07/2018 01:49 PM, Kasper Nielsen wrote: >>> Hi, >>> >>> I don't know if performance is an issue. But if it is, I think it world >>> make sense to use a precompute array. And replace >>> >>> private static int hexToBinary(char ch) { >>> if ('0' <= ch && ch <= '9') { >>> return ch - '0'; >>> } >>> if ('A' <= ch && ch <= 'F') { >>> return ch - 'A' + 10; >>> } >>> if ('a' <= ch && ch <= 'f') { >>> return ch - 'a' + 10; >>> } >>> return -1; >>> } >>> >>> with >>> >>> private static int hexToBinary(char ch) { >>> return ch <= 'f' ? staticPrecomputedArray[ch] : -1; >>> } >>> >>> where int[] staticPrecomputedArray is computed in a static initializer >>> block. >>> >>> /Kasper >>> >>> On Fri, 23 Nov 2018 at 14:51, Vincent Ryan <vincent.x.r...@oracle.com> >>> wrote: >>> >>>> Hello, >>>> >>>> Please review this proposal for a new API to conveniently generate and >>>> display binary data using hexadecimal string representation. >>>> It supports both bulk and stream operations and it can also generate the >>>> well-known hexdump format [1]. >>>> >>>> This latest revision addresses review comments provided earlier. >>>> These include adding methods to support for data supplied in a >>>> ByteBuffer, exposing the default formatter implementation as a public >>>> static and dropping the superfluous 'Hex' term from several method names. >>>> >>>> Thanks >>>> >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8170769 >>>> API: >>>> >>>> http://cr.openjdk.java.net/~vinnie/8170769/javadoc.06/api/java.base/java/util/Hex.html >>>> Webrev: http://cr.openjdk.java.net/~vinnie/8170769/webrev.06/ >>>> >>>> >>>> ____ >>>> [1] https://docs.oracle.com/cd/E88353_01/html/E37839/hexdump-1.html >>>> >> >