【发布时间】:2012-10-11 04:51:07
【问题描述】:
我有两个列表,比如listA 和listA1,listA 包含A 类型的对象,listA1 还包含A 类型的对象。但是listA 添加了@987654330 类型的对象@objects by java code 和listA1 通过将JSONString 转换为Class A 来添加A 类对象。
现在我需要比较listA 和listA1。如果listA 包含也在listA1 中的任何对象,我需要删除该对象并返回listA 以及不在listA1 中的所有对象。
如何在 Java 中实现这一点?
【问题讨论】:
-
@zander 我使用了 contains() 方法,当对象相同时它工作正常,它不比较值..
-
首先A类必须有一个“有效”的equals实现,然后我们可以使用List.removeAll
-
为 A 类实现一个自定义的(你自己的)equals 方法,并使用此方法使用@white 建议的方法比较和删除对象
-
阅读stackoverflow.com/questions/27581/…,实现equals和hashCode