文字列(インデックス)の比較[重複]
たとえば、2つの配列を正確なインデックスと比較する方法
String[] test1 = {"a","b","c","d"};
String[] test2 = {"a","b","c",""};
私はこれを試しました
for (int i = 0; i < test1.length; i++) {
for (int j = i; j < test2.length; j++) if (i==j) if (i == j && test2[j] == "" ) {do stuff}
}
// but always give true
ここで、比較がtest1のインデックス0から始まる場合、test2のインデックス0とのみ比較する必要があります。空のインデックス(たとえば、test1のインデックス3に関連するtest2のインデックス3)を見つけて、いくつかの処理を実行します。
よく読んでいますが、よろしくお願いします。
回答
Pieter12345
私の理解では、同じサイズではない可能性のある2つの配列を比較したいのですが、そうでない場合は、最短サイズまでしか比較しませんか?あなたはこのようなことをすることができます:
boolean equals = true;
for(int i = 0; i < test1.length && i < test2.length; i++) {
if(!test1[i].equals(test2[i])) {
equals = false;
break;
}
}
Spectric
.equals()
文字列を比較するために使用します。==
プリミティブを比較するために使用されます。
また、2つのループは必要ありません。
for(int i = 0; i < test1.length; i++){
if(test1[i].equals("")||test2[i].equals(""){
//Do something
}
}
pabloespinosa12
Javaで文字列を比較する場合、文字列はオブジェクトであるため、EQUALSを使用する必要があります。また、2つのループには意味がありません。これを試してみてください:
for (int i = 0; i < test1.length; i++) {
if (test2[i].equals("") ) {do stuff}
}
NehaK
Arrays.javaのdeepEquals()を使用します。
import java.util.Arrays;
String[][] s1 =
{
{"A", "B", "C"},
{"X", "Y", "Z"}
};
String[][] s2 =
{
{"A", "B", "C"},
{"X", "Y", "Z"}
};
System.out.println("deepEquals() returns " + Arrays.deepEquals(s1, s2));
出力:deepEquals()はtrueを返します