java list removeAll 使用

2017-08-08  本文已影响0人  周旭景

removeAll 的实现是使用equals方法进行比较,

代码如下:

public booleanremoveAll(Collection c) {

Objects.requireNonNull(c);

booleanmodified =false;

Iterator it = iterator();

while(it.hasNext()) {

if(c.contains(it.next())) {

it.remove();

modified =true;

}

}

returnmodified;

}

使用情景:我们经常对对象集合进行操作,一般从数据库中取出的封装对象会包含创建时间、更新时间等,如果此时使用removeAll则会因为时间比较返回false,。。。。?

解决:重写对象的equals方法,出去时间等不需比较的字段即可。

上一篇下一篇

猜你喜欢

热点阅读