On Sun, 27 Mar 2022 08:45:01 GMT, ExE Boss <d...@openjdk.java.net> wrote:
>> Naoto Sato has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Fixed a build failure > > src/java.base/share/classes/java/util/Locale.java line 819: > >> 817: * @since 19 >> 818: */ >> 819: public static Locale of(String... fields) { > > Arguably, there should be `Locale.of` overloads taking 0 to 4 arguments, so > that it’s not necessary to box the fields in a `String` array. While it is true for completeness, I would limit the addition of new method as little as possible, because there are already several ways to obtain a Locale object. > src/java.base/share/classes/java/util/Locale.java line 825: > >> 823: case 2 -> getInstance(fields[0], "", fields[1], "", null); >> 824: case 3 -> getInstance(fields[0], "", fields[1], fields[2], >> null); >> 825: default -> getInstance(fields[0], fields[3], fields[1], >> fields[2], null); > > This should probably throw `IllegalArgumentException` when more than 4 fields > are passed: > Suggestion: > > case 4 -> getInstance(fields[0], fields[3], fields[1], fields[2], > null); > default -> throw new IllegalArgumentException(/* TODO: message > */); Thanks for the suggestion. Will incorporate the exception in the spec/impl. ------------- PR: https://git.openjdk.java.net/jdk/pull/7947