equalsやhashCodeの話追記
きのう書いたequalsの実装だと、下記の実行結果がfalseになってしまいました
Bean b1 = new Bean(1L, "a"); Bean b2 = new Bean(2L, new String("a")); System.out.println(b1.equals(b2));
なのでリファクタリング
@Override public boolean equals(Object obj) { if(obj == null || !(obj instanceof Bean)) { return false; } Bean bean = (Bean)obj; return name.equals(bean.name); }
アドバイスしてくれたskrbさんありがとうございました!