RFR: 8263754: HexFormat 'fromHex' methods should be static

Claes Redestad redestad at openjdk.java.net
Thu Mar 25 21:18:31 UTC 2021


On Thu, 25 Mar 2021 20:08:14 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

> A number of HexFormat methods converting from strings to numbers do not use delimiter, prefix, suffix, and uppercase parameters and would be more convenient if the methods were static.
> 
> These  APIs were added early in JDK 17 and are being updated before GA.
> This PR updates existing uses in the JDK but there may be compiler warnings in non-JDK source files.
> 
>    public boolean isHexDigit(int);
>    public int fromHexDigit(int);
>    public int fromHexDigits(java.lang.CharSequence);
>    public int fromHexDigits(java.lang.CharSequence, int, int);
>    public long fromHexDigitsToLong(java.lang.CharSequence);
>    public long fromHexDigitsToLong(java.lang.CharSequence, int, int);

I like the direction. There are a number of orphaned HexFormat instances that can be cleaned up. I might have missed a few. 

Do you intend to do the same thing with the toHexDigit methods?

src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java line 822:

> 820:         StringBuilder hexNumber = new StringBuilder();
> 821:         for (int i = 0; i < chars.length; i++) {
> 822:             if (HexFormat.isHexDigit(chars[i])) {

`hex` left unused.

src/java.base/share/classes/sun/security/tools/keytool/Main.java line 4582:

> 4580:                             int pos = 0;
> 4581:                             for (char c: value.toCharArray()) {
> 4582:                                 if (!HexFormat.isHexDigit(c)) {

`hexFmt` created on line 4576 appears to be unused after this.

src/java.base/share/classes/sun/security/x509/AVA.java line 504:

> 502:         throws IOException {
> 503: 
> 504:         HexFormat hex = HexFormat.of();

`hex` left unused.

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

Changes requested by redestad (Reviewer).

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


More information about the core-libs-dev mailing list