list.remove(object)问题

       今天碰到一个关于list的remove问题,项目里有个业务需求需要list移除掉指定的object元素。但是使用了list.remove(obejct)方法之后,并无法删除对象。

      百度了一下

@Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final VacationDetail other = (VacationDetail) obj;
        if (!Objects.equals(this.detailId, other.detailId)) {
            return false;
        }
        return true;
    }


看源码可知,List在删除对象时,先判断这个对象是否在自己的队列中?而这种判断指的是是否equals
因此,List在删除对象时,如果使用删除对象方法,应该最好重写equals方法,否则最好使用删除下标的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值