Java SonarQube阻止程序问题NullPointerException可能会作为';联系人';在这里可以为空
我有一个返回联系人列表的方法。当我在SonarQube服务器上运行此代码时。它显示了一个阻止程序问题,说明可能会抛出NullPointerException,因为此处的“联系人”可为Null。。如何解决这个问题Java SonarQube阻止程序问题NullPointerException可能会作为';联系人';在这里可以为空,java,sonarqube,Java,Sonarqube,我有一个返回联系人列表的方法。当我在SonarQube服务器上运行此代码时。它显示了一个阻止程序问题,说明可能会抛出NullPointerException,因为此处的“联系人”可为Null。。如何解决这个问题 List<Contact> getContactDetails(){...} public void checkSize() { List<Contact> contacts = getContactDetails();
List<Contact> getContactDetails(){...}
public void checkSize() {
List<Contact> contacts = getContactDetails();
syso(contacts.size());
}
List getContactDetails(){…}
公共void checkSize(){
列出联系人=getContactDetails();
syso(contacts.size());
}
根据getContactDetails()
的实现,此方法可能返回null
,因此该行
syso(contacts.size());
可能由于NPE而失败,因为联系人
可能为空
通过添加
if(contacts != null) {
syso(contacts.size());
} else {
// exception, error handling or nothing
}
或者通过在
getContactDetails()
中不返回null
,根据getContactDetails()
的实现情况,此方法可能返回null
,因此行
syso(contacts.size());
可能由于NPE而失败,因为联系人
可能为空
通过添加
if(contacts != null) {
syso(contacts.size());
} else {
// exception, error handling or nothing
}
或者在
getContactDetails()
中不返回null
,Sonar抱怨您在调用.size()
可能是null
的内容。因此,请确保不要这样做:
List<Contact> getContactDetails(){...}
public void checkSize() {
List<Contact> contacts = getContactDetails();
syso(contacts == null ? "contacts is null" : contacts.size());
}
List getContactDetails(){…}
公共void checkSize(){
列出联系人=getContactDetails();
syso(contacts==null?“contacts为null”:contacts.size());
}
Sonar抱怨您正在调用.size()。因此,请确保不要这样做:
List<Contact> getContactDetails(){...}
public void checkSize() {
List<Contact> contacts = getContactDetails();
syso(contacts == null ? "contacts is null" : contacts.size());
}
List getContactDetails(){…}
公共void checkSize(){
列出联系人=getContactDetails();
syso(contacts==null?“contacts为null”:contacts.size());
}
YourgetContactDetails()
可能返回null
YourgetContactDetails()
可能返回null