2016-08-25 3 views
-1

Ich versuche validation für meine ArrayList hinzufügen, wenn es null ist, unten ist meine aktuelle Implementierung:Null-Validierung für die Liste?

List<Person> personList = new ArrayList<>(): 

if(personList!=null){ 

//do something 

} 

Dies ist jedoch nach wie vor wirft ist eine exception Wenn die Liste zu null erachtet wird, wie kann ich dieses Problem beheben ?

+1

die komplette stacktrace – Jens

+1

hinzufügen Was ist 'validation'? Der Ausdruck 'new ArrayList <>()' kann niemals null zurückgeben. – marstran

+1

Sie initialisieren bereits die personList, es wird nie null sein – ravthiru

Antwort

2

überprüfen Sie (personList!= null) && !personList.isEmpty() in Ihrem Code.

if((personList!= null) && !personList.isEmpty()) 

    //do something 

} 

Jetzt wird es nie null Zeiger Ausnahme auslösen.

+2

Verwenden Sie '! PersonList.isEmpty()', anstatt dessen Größe zu überprüfen. – marstran

+0

Wenn 'personList' null wäre, würde dies eine NullPointerException erzeugen, auch wenn es unwahrscheinlich ist, dass Sie eine NullPointerException erhalten, wenn der Arralist gerade davor erstellt wird, aber dies ist kein Null-Check – LuckAss

+0

@LuckAss Es ist nicht nur unwahrscheinlich , es ist unmöglich. Sie erhalten nie null von 'new ArrayList <>()'. – marstran

0

Die Liste ist nicht null, da Sie sie initialisiert haben. Es wird in Ihrem Fall eine leere Liste sein. Sie sollten überprüfen personList.isEmpty()

List<Person> personList = null wird für null Check

0

Diese Anweisung erstellt eine Array-Liste true zurück, das ist definitiv nicht null ist.

List<Person> personList = new ArrayList<>(): 

So prüfen Sie, ob die Liste nicht leer ist:

if(!personList.isEmpty()) 

oder

if(personList.size() != 0)