当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?这怎么可能呢?没有例外。