<i18n dev> RFR: 8282819: Deprecate Locale class constructors [v4]
Lance Andersen
lancea at openjdk.java.net
Mon Mar 28 17:17:48 UTC 2022
On Mon, 28 Mar 2022 17:02:33 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> Proposing to deprecate the constructors in the `java.util.Locale` class. There is already a factory method and a builder to return singletons, so there is no need to have constructors anymore unless one purposefully wants to create `ill-formed` Locale objects, which is discouraged. We cannot terminally deprecate those constructors for the compatibility to serialized objects created with older JDKs. Please see the draft CSR for more detail.
>
> Naoto Sato has updated the pull request incrementally with one additional commit since the last revision:
>
> New unit test. IllegalArgumentException.
Changes look fine.
I would suggest adding a comment describing the new tests. Also one additional suggestion below
test/jdk/java/util/Locale/TestOf.java line 79:
> 77: @Test (expectedExceptions = IllegalArgumentException.class)
> 78: public void test_IAE() {
> 79: Locale.of("en", "", "", "", "");
I would consider using `assertThrows(IllegalArgumentException.class, () -> Locale.of("en", "", "", "", "")); ` instead of the expectedExceptions annotation element as it is the preferred way forward
-------------
Marked as reviewed by lancea (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7947
More information about the i18n-dev
mailing list