ユーザーは、導入した2つの色の組み合わせをユーザーが推測したかどうかを確認します。ハッシュマップに相当する要素を取得する
私は、 "TwoColors"オブジェクトとブール値を保存するためにHashMapを使用しています。 TwoColorsクラスは次です:
public class TwoColors{
public MyColor color1;
public MyColor color2;
public TwoColors(MyColor color1, MyColor color2){
this.color1 = color1;
this.color2 = color2;
}
@Override
public boolean equals(Object obj) {
TwoColors o = (TwoColors) obj;
return color1 == o.color1 && color2 == o.color2;
}
}
そしてMyColorは、私がその値に
public static void main(String[] args){
HashMap<TwoColors, Boolean> hash = new HashMap<TwoColors, Boolean>();
hash.put(new TwoColors(MyColor.RED,MyColor.BLUE),new Boolean(true));
System.out.println(hash.get(new TwoColors(MyColor.RED,MyColor.BLUE)));
}
上記のコードの出力null
をTwoColorオブジェクトのキーを入れて印刷するには、テスト
public enum MyColor{
RED,BLUE,YELLOW,BROWN;
}
列挙型であります私はTwoColorsのequalsメソッドをオーバーライドしています。私はここで何が分からないのでしょうか?
あなたは等号をオーバーライドする場合は、同様のhashCodeを上書きすることをお勧めします。 –