我在从java中的列表中删除某些对象时遇到问题。我正在使用ibatis并有两个列表;两个列表都是由不同的sql查询创建的。我将两个列表发送到相同的结果映射,这意味着相同的bean类。如果第二个列表与第一个列具有相同的行,我想从第一个列表中删除它们。
lst = dao.listWaitingCustomers(totalThreadCount , jobNumber);
List lst2 = dao.listWaitingCustomers2();
lst.removeAll(lst2);
但这不起作用,因为我认为即使相同的行从db返回,它们也不在同一个引用中,我的意思是它们是不同的对象。如果具有相同的列值,如何从一个列表中删除这些对象?
答案 0 :(得分:0)
您必须覆盖存储在列表中的对象的equals和hashcode方法。