私はこの簡単な方法を使用しました:
Collection<Integer> aCollection = Arrays.asList(1,2,3,4,5,6);
Integer a = new Integer(5);
if( aCollection.contains(a) )
System.out.println("aCollection contains 5");
結果は「aCollection contains 5」です。整数はシステム全体で一意のオブジェクトではありませんが、この場合、「5」はCollection<Integer>
実際new Integer(5)
には同じオブジェクトへの参照ですか? を呼び出すときに、コレクションがこのように動作すると安全に想定できます.contains()
か?
==
参照と値を結果で比較すると次のようになるため、わかりません。
3 == new Integer(3)
new Integer(3) != new Integer(3)
new Integer(3) == 3