【发布时间】:2015-04-09 14:21:46
【问题描述】:
List<Integer> list = new ArrayList<>();
list.add(12);
list.add(null);
list.add(22);
list.add(32);
System.out.println(list);
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
Integer a = iterator.next();
System.out.print(a+" ");
if(a.equals(32)){
iterator.remove();
}
}
O/p
[12, null, 22, 32]
12 null Exception in thread "main" java.lang.NullPointerException
at javed.collection.Collecting.main(Collecting.java:57)
试图从 List 中删除任何包含 null 的元素会给我 NullPointerException 。 但是可以很容易地从不包含 null 的 List 中删除元素。 通过将整数与 null 进行比较,我做错了吗?
如果我们不能从 List 中删除包含 null 的元素而不是他们允许我们在 List 中添加 null 的原因,那么它有什么用处。
【问题讨论】:
-
为什么您确定问题出在
remove行?
标签: java collections null core