Android ArrayList迭代器返回null

Android ArrayList迭代器返回null,android,arraylist,iterator,nullpointerexception,Android,Arraylist,Iterator,Nullpointerexception,下面我有一个简单的代码,当我在列表中循环时,迭代器返回null。有人知道什么会导致迭代器返回null吗?不幸的是,我没有实际数据,因为这只发生在其他手机上,我不知道allDisplayNames中是什么,但我知道列表已初始化,因为我检查它是否不等于null。 提前谢谢 代码如下: HashMap<Integer, List<String>> allDisplayNames = Contact .getAllF

下面我有一个简单的代码,当我在列表中循环时,迭代器返回null。有人知道什么会导致迭代器返回null吗?不幸的是,我没有实际数据,因为这只发生在其他手机上,我不知道allDisplayNames中是什么,但我知道列表已初始化,因为我检查它是否不等于null。 提前谢谢

代码如下:

            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。