Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SonarQube阻止程序问题NullPointerException可能会作为';联系人';在这里可以为空_Java_Sonarqube - Fatal编程技术网

Java SonarQube阻止程序问题NullPointerException可能会作为';联系人';在这里可以为空

Java SonarQube阻止程序问题NullPointerException可能会作为';联系人';在这里可以为空,java,sonarqube,Java,Sonarqube,我有一个返回联系人列表的方法。当我在SonarQube服务器上运行此代码时。它显示了一个阻止程序问题,说明可能会抛出NullPointerException,因为此处的“联系人”可为Null。。如何解决这个问题 List<Contact> getContactDetails(){...} public void checkSize() { List<Contact> contacts = getContactDetails();

我有一个返回联系人列表的方法。当我在SonarQube服务器上运行此代码时。它显示了一个阻止程序问题,说明可能会抛出NullPointerException,因为此处的“联系人”可为Null。。如何解决这个问题

    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());
}
Your
getContactDetails()
可能返回
null
Your
getContactDetails()
可能返回
null