2016-07-27 24 views
0

Ich verwende SonarLint Plugin (2.1.0) mit Eclipse Mars (4.5.0) und ich erhalte: NullPointerException might be thrown as listToCheck is nullable here in diesem Code:vermeiden Nullpointer Check

if (checkListNotNull(listToCheck)) { 
    listToCheck.get(0); // I get here that warning 
} 

checkListNotNull ist eine Methode, die true zurückgibt, wenn Liste, die übergeben wird, ist nicht null

Ist es möglich, diese Sonarwarnung zu vermeiden?

Dank

+0

welche Version von Java verwenden Sie? listToCheck == null ist besser für eine Nullprüfung im Vergleich zu einer zusätzlichen Methode. oder, aus Java 8, können Sie Optional – Stultuske

+0

'checkListNotNull (listToCheck)' ist länger und schwerer zu lesen als 'listToCheck! = null ', also warum nicht das letztere? – Manu

+0

Ich habe ein wenig meine Methode geändert, aber echte Codeüberprüfungen sind nicht null und nicht leer. Rückgabeliste! = null &&! list.isEmpty(); Ich verwende Java 5 (benötigt für das Projekt) – OscarBcn

Antwort

0

Genau das tun

if(listToCheck != null && !listToCheck.isEmpty()) { 
    listToCheck.get(0); 
} 

Und ich denke, dass die Warnung (die Verwendung eines anderen Verfahrens disapear wird in diesem Fall nutzlos zu sein scheint, die Warnung wegen Eclipse kann gerade hier ist nicht zu verstehen, was Ihre checkListNotNull tun)

+1

Aber Sie erhalten eine Ausnahme, wenn Sie eine leere Liste haben – Jens

+0

Oh ok Ich habe vergessen, dass ich bearbeite: P – NatNgs

+0

Ja, ich weiß das, danke. Ich würde gerne wissen, ob es etwas mit meinem Code zu tun hat – OscarBcn