2016-10-25 1 views
0

연락처 목록을 반환하는 메서드가 있습니다. SonarQube 서버에서이 코드를 실행할 때. 의 '차단기'문제가 표시됩니다. 여기서 '연락처'가 nullable이므로 NullPointerException이 발생합니다.. 이 문제를 해결하는 방법? contactsnull 될 수 있기 때문에 인해 NPE에SonarQube Blocker 문제 'contacts'가 nullable 일 때 NullPointerException이 throw 될 수 있습니다.

List<Contact> getContactDetails(){...} 

    public void checkSize() { 
     List<Contact> contacts = getContactDetails(); 
     syso(contacts.size()); 
    } 
+1

'getContactDetails()'는'null'을 반환 할 수 있습니다. –

답변

2

getContactDetails()의 구현에 따라이 방법은 null를 반환 할 수 있습니다, 그래서 라인

syso(contacts.size()); 

가 실패 할 수 있습니다. 어느 첨가

if(contacts != null) { 
    syso(contacts.size()); 
} else { 
    // exception, error handling or nothing 
} 

하거나 getContactDetails()null에 복귀하지 않음으로써

수정이.

1

null 일 수있는 전화 번호가 .size() 인 것으로 불평하고 있습니다. 그래서 당신이 그렇게하지 않는 것을 확인하십시오 :

List<Contact> getContactDetails(){...} 

public void checkSize() { 
    List<Contact> contacts = getContactDetails(); 
    syso(contacts == null ? "contacts is null" : contacts.size()); 
} 
관련 문제