1

当 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?这怎么可能?没有引发异常。

4

0 回答 0