これを実行すると、
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
空の文字列を返します。そんなことがあるものか?この場合、 toUpperCase() は失敗するはずですよね? ありがとう!
これを実行すると、
System.out.println("toUpperCase() on empty String:"+ "".toUpperCase());
空の文字列を返します。そんなことがあるものか?この場合、 toUpperCase() は失敗するはずですよね? ありがとう!
なぜ失敗する必要があるのですか?入力文字列の任意の文字を大文字に変換します。あなたの例では、「任意の文字」は 0 文字に相当します。
Javadoc は、空の文字列に対して失敗する必要があるとは言っていません。つまり、失敗するべきではありません。
デフォルトのロケールの規則を使用して、この String 内のすべての文字を大文字に変換します。このメソッドは toUpperCase(Locale.getDefault()) と同等です。
注:このメソッドはロケールに依存するため、ロケールを個別に解釈することを意図した文字列に使用すると、予期しない結果が生じる可能性があります。例としては、プログラミング言語識別子、プロトコル キー、および HTML タグがあります。たとえば、トルコ語ロケールで "title".toUpperCase() を実行すると、"T\u0130TLE" が返されます。ここで、'\u0130' はラテン語の大文字 I WITH DOT ABOVE 文字です。ロケールを区別しない文字列で正しい結果を得るには、toUpperCase(Locale.ENGLISH) を使用します。
戻り値:大文字に変換された文字列。
空の文字列は null ではないため、すべての String メソッドを呼び出すことができます。