当 contactMap 不为 null 且不为空时,以下代码将返回 null 而不会引发异常。
private List<Contact> getParseQuery(final Map<String, Contact> contactMap) {
if (contactMap != null && !contactMap.isEmpty()) {
// removed some code here to make this easier to spot
try {
List<Person> people = mainQuery.find();
for (Person person : people) {
Contact contact = contactMap.get(person.getPhone());
contact.setUser(person);
contacts.add(contact);
}
return contacts;
} catch (Exception e) {
e.printStackTrace();
return null;
}
} else {
return null;
}
}
为什么这会返回 null?我使用“人员”列表中的一条数据逐步执行此代码。但是在第一次之后,它会返回“for”语句来检查列表中是否还有更多人,然后下一行在“else”中返回 null?这怎么可能?没有引发异常。