1
申し訳ありませんが、これは基本ですが、私はJavaを起動していますが、これは割り当てではなく、なぜ簡単なテストプログラムが失敗しますか?HashMapの初心者プログラマー、私のプログラムでcontainsKeyがfalseを返すのはなぜですか?
static public class pair
{
public int x;
public int y;
public pair(int a , int b)
{
x = a;
y = b;
}
}
public static void main(String args[])
{
HashMap<pair,Integer>m = new HashMap<pair,Integer>();
m.put(new pair(1,2), 3);
if(m.containsKey(new pair(1,2)))
{
System.out.println("is there " + m.get(new pair(1,2)));
}
}
これは同様の質問です:http://stackoverflow.com/questions/12774723/calling-containskey-on-a-hashmap-with-custom-class?rq=1 –
もしあなたが 'equals'をオーバーライドしていなければ'hashCode'を実行すると、すべてのオブジェクトが異なっているということになります。 –
Javaコードスタイル https://google.github.io/styleguide/javaguide.html –