0
次のif文がヒットしない理由を理解できません。ムービーとfilms.get(i).getTitle()が同じ文字列であることをログから検証しました:ArrayList(Java)を反復処理するのに問題がある
次のif文がヒットしない理由を理解できません。ムービーとfilms.get(i).getTitle()が同じ文字列であることをログから検証しました:ArrayList(Java)を反復処理するのに問題がある
==
プリミティブ以外のものは、2つのオブジェクトのメモリアドレスを比較します。文字列と他のオブジェクトを比較するには.equals
を使用してください。
です。
String str1 = "bla";
// Use String::new to make sure 'str1' and 'str2' don't reference the same literal
String str2 = new String("bla");
System.out.println(str1 == str1); // true
System.out.println(str1 == str2); // false
System.out.println(str1.equals(str2)); // true
文字列の内容を比較するには、String equalsメソッドを使用する必要があります。 == 2つの参照が両方ともヌルであるか、または両方が同じオブジェクトを指しているかどうかをテストします。 –
文字列の比較にequalsを使用する –
2つの文字列のために.equalsを使用する必要があることを、私は見逃してしまいました。 –