2

Java では String は不変であるため、toLowerCase を直感的に使用することはできません。つまり、元の文字列は変更されていません。

String s = "ABC";
s.toLowerCase();

> "ABC"

ただし、StringBuffer(可変文字列をサポート)を使用しても機能しません

StringBuffer so = new StringBuffer("PoP");

so.toLowerCase()

> Static Error: No method in StringBuffer has name 'toLowerCase'

ヒントやアドバイスをいただければ幸いです。

4

2 に答える 2

14

そうではありません。使用する必要があります.toString().toLowerCase()

String lowercase = sb.toString().toLowerCase();

不要なインスタンスを作成しないことについて非常に厳密にしたい場合は、すべての文字を反復して小文字にすることができます。

for (int i = 0; i < sb.length(); i++) {
   char c = sb.charAt(i);
   sb.setCharAt(i, Character.toLowerCase(c));
}

そして最後に -StringBuilder好むStringBuffer

于 2012-04-10T20:45:07.847 に答える