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

Reply via email to