Javaで文字列の1次元配列を取得しました。すべての文字列を小文字に変更し、後で元の配列と比較して、文字列/配列に大文字がないかどうかをプログラムにチェックさせることができます。
x.toLowercase を使用してみましたが、それは単一の文字列でのみ機能します。文字列全体を小文字に変換する方法はありますか?
よろしく、 ブランド
短い例が必要な場合は、次のようにすることができます
String[] array = ...
String asString = Arrays.toString(array);
if(asString.equals(asString.toLowerCase())
// no upper case characters.
たった2行
String[] array = {"One", "Two"};
for(int i=0;i<array.length;i++){
if(!array[i].equals(array[i].toLowerCase()))
System.out.println("It contains uppercase char");
array[i] = array[i].toLowerCase();
}
for(int i=0;i<array.length;i++)
System.out.println(array[i]);
出力:
It contains uppercase char
It contains uppercase char
one
two
Java でコレクションのすべての要素に対してメソッドを呼び出す簡単な方法はありません。正しいサイズの新しい配列を手動で作成し、元の配列の要素を調べて、小文字のアナログを新しい配列に順次追加する必要があります。
ただし、具体的に何をしようとしているのかを考えると、これを行うために配列全体を一度に比較する必要はなく、すべてをコピーするコストが発生します。配列を単純に反復処理できます。小文字バージョンと等しくない要素false
が見つかった場合は、 を返すことができます。そのような要素が見つからずに配列の最後に到達した場合は、 を返すことができますtrue
。
次の理由から、これは実際にはより効率的です。
次の 2 つの手順が必要です。
文字列の配列を単一の文字列に変換してから小文字に変換できます。以下のサンプル コードに従ってください。
public class Test {
public static void main(String[] args) {
String s[]={"firsT ","seCond ","THird "};
String str = " ";
for (int i = 0; i < s.length; i++) {
str = str + s[i];
}
System.out.println(str.toLowerCase());
}
}
1 行のコードでそれを行うことができます。ループすることなく、次のスニペットをコピーして貼り付けるだけです。
String[] strArray = {"item1 Iteme1.1", "item2", "item3", "item4", "etc"}//This line is not part of the single line (=D).
String strArrayLowerCase[] = Arrays.toString(strArray).substring(1)
.replace("]", "").toLowerCase().split(",");
ハッピーストリングライフ。=D