【发布时间】:2019-07-24 03:56:09
【问题描述】:
我的 MyModel 类包含:
private int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
现在我已经填充了 MyModel 类:
private final List<MyModel> listModel = new ArrayList<>();
private Mymodel myModel;
myModel= new MyModel ();
myModel.setValue(1);
myModel.setValue(2);
myModel.setValue(3);
listModel.add(myModel);
我想知道 listModel 是否包含 myModel
listModel.contains(myModel)
我进行了一些搜索,我知道 contains 使用了等号,但我正在寻找找到解决方案的正确方法。 提前致谢
【问题讨论】:
-
除了实现
equals之外,真的没有其他方法可以做到这一点。你应该实现equals。 -
现代 IDE 将帮助您正确实施它
-
如果您有一个可以唯一标识 MyModel 的原始字段,例如 int id,那么您可以从 List
获取字段列表并在其中搜索 myModel.id。 -
"contains 使用了 equals,但我正在寻找找到解决方案的正确方法" - 为 MyModel 实现 equals() 是稍后使用 contains() 的正确方法。