我正在使用ArrayList
, 并且在程序中的某个时刻我使用 contains 方法来检查某个项目是否包含在ArrayList
. ArrayList
保存 type的对象CharProfile
,一个自定义类,它正在查看其中是否包含 char。
所以我假设它在 contains 方法中使用了 equals 方法。像这样的东西CharProfile.contains(char)
,但它不起作用。
我覆盖了 CharProfile 中的 equals 方法:
@Override
public boolean equals(Object o) {
if (this.character == (Character)o) {
return true;
}
else {
return false;
}
}
因此,当 CharProfile 尝试使用它时,它应该使用我的 equals 方法,对吗?那么为什么它不起作用呢?
(就“不工作”而言,我指的是contains
总是返回错误的事实。)