我有一个返回联系人列表的方法。当我在 SonarQube 服务器上运行此代码时。它显示了一个阻止程序问题,指出NullPointerException 可能会被抛出,因为“联系人”在这里可以为空。. 如何解决这个问题?
List<Contact> getContactDetails(){...}
public void checkSize() {
List<Contact> contacts = getContactDetails();
syso(contacts.size());
}
Run Code Online (Sandbox Code Playgroud)
根据您的 实现getContactDetails(),此方法可能会返回null,因此该行
syso(contacts.size());
Run Code Online (Sandbox Code Playgroud)
可能由于 NPE 而失败,因为contacts可能是null.
通过添加来解决此问题
if(contacts != null) {
syso(contacts.size());
} else {
// exception, error handling or nothing
}
Run Code Online (Sandbox Code Playgroud)
或者通过不返回null在getContactDetails()。