dex*_*lin 4 java iterator listiterator
我的问题非常非常简单,但我在网上发现的一切都告诉我,我正在以正确的方式做到这一点 - 但我显然误解了一些事情.
我有一个简单,简单的Java ListIterator,它在while-hasNext() - 循环中为next()返回一个null.以下是我对调试状态的评论代码:
[...]
ListIterator<Role> rolesIterator = currentUser.getRoles().listIterator();
// rolesIterator is now: java.util.ArrayList$ListItr
while( rolesIterator.hasNext() ) {
Role roleObject = rolesIterator.next(); // extra step for debugging reasons
String role = roleObject.getName(); // NullPointerException - roleObject is null
[...]
Run Code Online (Sandbox Code Playgroud)
在我的想法中,如果没有next()对象,则不应输入循环 - 这就是我使用hasNext()检查的原因.我理解错了什么,正确的方法是什么?
JB *_*zet 12
列表中有下一个元素,下一个元素恰好为null.例如:
List<String> list = new ArrayList<>();
list.add("foo");
list.add(null);
list.add("bar");
Run Code Online (Sandbox Code Playgroud)
以上列表有3个要素.第二个是null.
修复填充列表的代码,并确保它不在列表中添加任何null Role,或者在循环内检查null以避免NullPointerExceptions.
| 归档时间: |
|
| 查看次数: |
9560 次 |
| 最近记录: |