On Thu, 25 Mar 2021 20:08:14 GMT, Roger Riggs <rri...@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