为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用对象字段从列表中删除对象

如何使用对象字段从列表中删除对象

万千封印 2021-11-11 18:16:12
我有一个人对象的列表。现在我想删除一个对象,我只知道该对象的实例变量。我的意思是我没有对象,我所能做的就是创建另一个具有相同字段值的对象。显然,新对象不能用于删除原始对象,因为两者是不同的。确实是一个非常愚蠢的问题。
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

循环遍历集合中的所有对象并将它们的值与已知值进行比较,一旦找到具有相同值的对象,将其删除并中断循环。


就像是:


String knownName = "Joe";

for(Person person : personsCollection)

    if(person.getName().equals(knownName)){

        personsCollection.remove(person);

        break;

    }


查看完整回答
反对 回复 2021-11-11
?
心有法竹

TA贡献1866条经验 获得超5个赞

这样做的正确方法是在 Person 类中实现 equals 方法,因此当您删除新对象并等于旧对象时,旧对象将从列表中删除。您可以根据应用程序中定义相等性的字段来实现 equals 方法,它可以是一些 id 或名称。


例如:


public boolean equals(Object obj) {

    if (obj instanceof Person) {

        return name.equals((Perrson)obj).name();

    }

    return false;

}


查看完整回答
反对 回复 2021-11-11
  • 2 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信