RFR: 8251989: Hex formatting and parsing utility

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


On Mon, 12 Oct 2020 20:48:52 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.
>
> src/java.base/share/classes/java/util/HexFormat.java line 45:
> 
>> 43:  * the {@code withXXX} methods return copies of {@code HexFormat}ters modified
>> 44:  * {@link #withPrefix(String)}, {@link #withSuffix(String)}, {@link #withDelimiter(String)}
>> 45:  * or choice of {@link #withUppercase()} or {@link #withLowercase()} parameters using
> 
> Would <code>withUpper<b>C</b>ase</code> and <code>withLower<b>C</b>ase</code> (captial "C") be better to be consistent
> with `String.toUpperCase` and `Character.toUpperCase`?

Good point, the uppercase() method changes too;  ->  isUpperCase().

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

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


More information about the core-libs-dev mailing list