我有这些对象的一些对象ArrayList中的自定义包含方法
class A {
private Long id;
private String name;
public boolean equals(Long v) {
return this.id.equals(v);
}
}
和ArrayList。 我想要的是能够检查该列表是否包含按对象字段的某个对象。 例如:
ArrayList<A> list = new ArrayList<A>(); if (list.contains(0L)) {...}
但overrided equals方法不帮助我。我做错了什么? 谢谢
UPDATE 我应该覆盖的哈希码()方法呢?
你有没有重写equals()在你的A类?如果是这样,你可以在这里发布吗? – c05mic
根据下面的答案判断,我想这没有方便的解决方案。我觉得这可以用匿名类实现来解决,比如你用你自己的比较器调用Collections.sort()时使用的类。 – kodu
搜索了一下之后,我在这里找到了一些有用的答案:http://stackoverflow.com/questions/587404/finding-all-objects-that-have-a-given-property-inside-a-collection – kodu