Javaの文字列toLowerCaseおよびtoUpperCaseメソッド

1. 概要

このチュートリアルでは、Java link:/java-string[_String_]クラスに含まれる_toUpperCase_および_toLowerCase_メソッドについて説明します。
_name_という_String_を作成することから始めます。
String name = "John Doe";

2. 大文字に変換

_name_に基づいて新しい大文字の_String_を作成するには、_toUpperCase_メソッドを呼び出します。
String uppercaseName = name.toUpperCase();
これにより、_uppercaseName_の値は_“ JOHN DOE” _になります。
assertEquals("JOHN DOE", uppercaseName);
_Strings_はJavaでは*不変*であり、_toUpperCase_を呼び出すと新しい_String_が作成されることに注意してください。 つまり、_toUpperCase_を呼び出したときに_name_は変更されません。

3. 小文字に変換

同様に、_toLowerCase_を呼び出して、_name_に基づいて新しい小文字の_String_を作成します。
String lowercaseName = name.toLowerCase();
これにより、_lowercaseName_の値は_“ john doe” _になります。
assertEquals("john doe", lowercaseName);
_toUpperCase_と同様に、_toLowerCase_は_name_の値を変更しません。

4. ロケールを使用したケースの変更

さらに、https://www.baeldung.com/java-8-localization#localization [_Locale_]を_toUpperCase_ and _toLowerCase_メソッドに提供することにより、ロケール固有のルールを使用して_String_の大文字と小文字を変更できます。
たとえば、_Locale_を指定して、トルコ語の_i_(Unicode _0069 _)_:_を大文字にできます。
Locale TURKISH = new Locale("tr");
System.out.println("\u0069".toUpperCase());
System.out.println("\u0069".toUpperCase(TURKISH));
したがって、これは大文字の_I_とドット付きの大文字_I_になります。
I
İ
次のアサーションを使用してこれを確認できます。
assertEquals("\u0049", "\u0069".toUpperCase());
assertEquals("\u0130", "\u0069".toUpperCase(TURKISH));
同様に、トルコ語_I_(Unicode _0049_)を使用して_toLowerCase_についても同じことができます。
System.out.println("\u0049".toLowerCase());
System.out.println("\u0049".toLowerCase(TURKISH));
その結果、これは小文字の_i_と小文字のドットなし_i_になります。
i
ı
次のアサーションを使用してこれを確認できます。
assertEquals("\u0069", "\u0049".toLowerCase());
assertEquals("\u0131", "\u0049".toLowerCase(TURKISH));

5. 結論

結論として、Java __String __classには、a__String_の大文字小文字を変更するための_toUpperCase_および_toLowerCase_メソッドが含まれています。 必要に応じて、a__String._の大文字と小文字を変更するときに、ロケール固有の規則を提供する_Locale_を提供できます。
例を含むこの記事のソースコードは、https://github.com/eugenp/tutorials/tree/master/java-strings-2 [GitHub上]にあります。