On Mon, 19 Oct 2020 22:52:31 GMT, Roger Riggs <[email protected]> wrote:
>> java.util.HexFormat utility: >> >> - Format and parse hexadecimal strings, with parameters for delimiter, >> prefix, suffix and upper/lowercase >> - Static factories and builder methods to create HexFormat copies with >> modified parameters. >> - Consistent naming of methods for conversion of byte arrays to formatted >> strings and back: formatHex and parseHex >> - Consistent naming of methods for conversion of primitive types: >> toHexDigits... and fromHexDigits... >> - Prefix and suffixes now apply to each formatted value, not the string as >> a whole >> - Using java.util.Appendable as a target for buffered conversions so output >> to Writers and PrintStreams >> like System.out are supported in addition to StringBuilder. (IOExceptions >> are converted to unchecked exceptions) >> - Immutable and thread safe, a "value-based" class >> >> See the [HexFormat >> javadoc](http://cr.openjdk.java.net/~rriggs/8251989-hex-formatter/java.base/java/util/HexFormat.html) >> for details. >> Review comments and suggestions welcome. > > Roger Riggs has updated the pull request incrementally with one additional > commit since the last revision: > > Correct length of StringBuilder in formatHex; > Correct bug in formatHex(char[], 2, 3) and add test for subranges of char[] src/java.base/share/classes/java/util/HexFormat.java line 565: > 563: */ > 564: private static void checkLiteral(CharSequence string, int index, > String literal) { > 565: assert index + literal.length() <= string.length() : > "pre-checked invariant error"; or possibly: `assert index <= string.length() - literal.length() : ...` ------------- PR: https://git.openjdk.java.net/jdk/pull/482
