Android ArrayList迭代器返回null
下面我有一个简单的代码,当我在列表中循环时,迭代器返回null。有人知道什么会导致迭代器返回null吗?不幸的是,我没有实际数据,因为这只发生在其他手机上,我不知道allDisplayNames中是什么,但我知道列表已初始化,因为我检查它是否不等于null。 提前谢谢 代码如下:Android ArrayList迭代器返回null,android,arraylist,iterator,nullpointerexception,Android,Arraylist,Iterator,Nullpointerexception,下面我有一个简单的代码,当我在列表中循环时,迭代器返回null。有人知道什么会导致迭代器返回null吗?不幸的是,我没有实际数据,因为这只发生在其他手机上,我不知道allDisplayNames中是什么,但我知道列表已初始化,因为我检查它是否不等于null。 提前谢谢 代码如下: HashMap<Integer, List<String>> allDisplayNames = Contact .getAllF
HashMap<Integer, List<String>> allDisplayNames = Contact
.getAllFullnames();
...
for (Contact contact : Application.getContacts().values()) {
...
ArrayList<String> namechunks = new ArrayList<String>();
List<String> displaynames = new ArrayList<String>();
displaynames.add(contact.getDisplay_name());
if (allDisplayNames.get(contact.getId()) != null) {
displaynames.addAll(allDisplayNames.get(contact.getId()));
}
for (String string : displaynames) {
if (string==null) {
continue;
}
String[] temp = string.split(" "); <-- this line used to trigger NullPointer
...
}
这里,字符串[]temp=String.split处出现异常;表示字符串为空。因此ArrayList也包含空值。
可能的解决方案是,不要将空值添加到ArrayList,或者将空检查更改为
if (string.equals(null)) {
continue;
}
这里,字符串[]temp=String.split处出现异常;表示字符串为空。因此ArrayList也包含空值。
可能的解决方案是,不要将空值添加到ArrayList,或者将空检查更改为
if (string.equals(null)) {
continue;
}
contact.getDisplay\u name返回null。谢谢,我尝试过,结果表明您可以将null添加到arraylist。。。文档中说允许所有元素,包括null.contact.getDisplay\u name返回null。谢谢,我试过了,结果发现您可以将null添加到arraylist。。。文档中说允许所有元素,包括null。