1. 概要

このチュートリアルでは、Java 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ではimmutableであり、toUpperCaseを呼び出すと新しいStringが作成されることに注意してください。 つまり、 toUpperCase を呼び出しても、nameは変更されません。

3. 小文字に変換

同様に、 toLowerCase を呼び出すことにより、nameに基づいて新しい小文字のStringを作成します。

String lowercaseName = name.toLowerCase();

これにより、 lowercaseNameの値は“ john doe”になります。

assertEquals("john doe", lowercaseName);

toUpperCase と同様に、toLowerCasenameの値を変更しません。

4. ロケールを使用してケースを変更する

さらに、LocaletoUpperCaseおよび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 クラスには、Stringの大文字と小文字を変更するためのtoUpperCaseおよびtoLowerCaseメソッドが含まれています。 必要に応じて、 Locale を指定して、Stringの大文字と小文字を変更するときにロケール固有のルールを提供できます。

例を含むこの記事のソースコードは、GitHubにあります。