containsAll在比较对象的两个ArrayList时返回False

Hes*_*emr 2 java arraylist

我有两个ArrayList:

ArrayOne

ClassPojo [Name ="XXX", FilterID = 4]
ClassPojo [Name = "ZZZ", FilterID = 5]
Run Code Online (Sandbox Code Playgroud)

ArrayTwo

ClassPojo [Name = "XXX", FilterID = 4]
Run Code Online (Sandbox Code Playgroud)

但是当试着使用时:

 Arrays.asList(ArrayOne).contains(ArrayTwo )
Run Code Online (Sandbox Code Playgroud)

要么

ArrayOne().containsAll(ArrayTwo)
Run Code Online (Sandbox Code Playgroud)

它返回false,我知道比较是基于Refrences而不是值equlaty但我如何通过值来做到这一点注意:我想使用conatinsAll,所以如果在ArrayOne的某些部分找到arrayTwo的内容则返回true.

Jig*_*shi 6

我知道比较是基于引用而不是值相等

不,它基于价值平等.您需要覆盖equals()以正确比较您的2个对象ClassPojo