RFR: 8251989: Hex formatting and parsing utility

Roger Riggs rriggs at openjdk.java.net
Tue Oct 13 16:19:29 UTC 2020


On Mon, 12 Oct 2020 20:41:20 GMT, Marcono1234 <github.com+11685886+Marcono1234 at openjdk.org> 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.
>
> test/jdk/java/util/HexFormat/HexFormatTest.java line 406:
> 
>> 404:
>> 405:             int byteVal = hex.fromHexDigits(byteStr);
>> 406:             assert(byteStr.equals("7f"));
> 
> Why use regular `assert` statements in this test method? TestNG's methods likely yield more useful results.

These code fragments are the examples used in the javadoc; making a simple copy/paste from working code to the javadoc.
In the example code `assert`, a Java language construct is cleaner than showing testng assertions).

-------------

PR: https://git.openjdk.java.net/jdk/pull/482


More information about the core-libs-dev mailing list