Blog

new Locale("id", "ID").toString() の結果がバージョンによって違う

import java.util.Locale;

public class Foo {
  public static void main(String[] args) {
    System.out.println(new Locale("id", "ID").toString());
  }
}

Java 17 だと id_ID となるけど、Java 11 だと in_ID となる。

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html#legacy_language_codes

https://github.com/openjdk/jdk/commit/a4c46e1e4f4f2f05c8002b2af683a390fc46b424