Comment tester List<String> vide ou nullness?

Il semble que peu importe ce que je fais-je obtenir un mauvais résultat.

Ma liste est définie comme suit:

private List<String> selectedPriorities;

Rien de bizarre ou de fantaisie sur les getter/setter:

public void setSelectedPriorities(List<String> selectedPriorities) {
    this.selectedPriorities = selectedPriorities;
}

public List<String> getSelectedPriorities() {
    return selectedPriorities;
}

Dans un bean de session je veux modifier une Liste différente basée sur le contenu (ou l'absence) de cette liste.

Ici, c'est que code:

List<String> restrictList = new ArrayList<String>();
restrictList.add("lower(logs.clazz) like lower(concat(#{logs.clazz},'%'))");
restrictList.add("lower(logs.rule) like lower(concat(#{logs.rule},'%'))");
PrioritySelectorBean selectorBean = (PrioritySelectorBean) Component.getInstance("prioritySelectorBean",true);
System.out.println("constructRestrictionList selectorBean "+selectorBean.getSelectedPriorities());

if (selectorBean.getSelectedPriorities() == null) {
    System.out.println("IS NULL");
    return restrictList;
}

if (selectorBean.getSelectedPriorities().isEmpty()){
    System.out.println("IS EMPTY");
}

if (selectorBean.getSelectedPriorities().size()<1){
    System.out.println("HAS NOTHING IN IT");
    return restrictList;
}
System.out.println("NOT NULL");
restrictList.add("lower(logs.priority) in (#{prioritySelectorBean.selectedPriorities})");

Il tombe toujours de travers pour ne PAS NULL et ajoute la chaîne de restrictList. C'est me rend fou! Comment puis-je détecter le néant dans cette liste? Voici le journal extrait de

14:24:10,057 INFO  [STDOUT] constructRestrictionList selectorBean []
14:24:10,057 INFO  [STDOUT] NOT NULL
Je ne suis pas tout à fait sûr, mais au lieu de l'utilisation de ==, utiliser equals(), je pense que threre une méthode de ce nom. Si je me trompe s'il vous plaît supprimer ce commentaire
semble que vous avez vraiment une liste non vide ici 🙂 ce doeas size() renvoie? n' .get(0) de retour de quelque chose?
Birkin : val == null est parfaitement bien ici. mieux de ne pas les appeler des méthodes sur un objet si il est nul 😉
merci pour le montage
J'ai essayé de la taille des caractères() mais NullPointerException. Ne me demandez pas pourquoi je n'ai pas que lors de l'essai pour size()<1 ? Et pourtant, il DOIT être un non-vide de la liste.

OriginalL'auteur april26 | 2011-03-08