Pour les débutants + Cet article a beaucoup d'opinions personnelles.
Quand je fais une révision de code, je le vois parfois
List<String> list =Certains processus / méthode (la liste est renvoyée);
//Chèque NULL et vide
if (list == null || list.size() == 0) {
}
C'est un code qui effectue une vérification NULL / vide de List.
Il n'y a aucun problème de fonctionnement. Cependant, je ne l'aime pas tellement, alors je peux vous demander de le réparer. Il y a principalement ** deux ** raisons.
Tout d'abord, je voudrais que vous vérifiiez si la variable de liste peut être définie sur NULL dans "Certains processus / méthode".
Si vous pouvez le rendre NULL, vous devez corriger le processus ici.
Ceci afin de réduire la possibilité d'une NullPointerException. Vous pouvez également éliminer la vérification NULL de l'appelant.
Si "un processus / une méthode" est commun, tous les appelants doivent vérifier NULL. Si l'appelant ne vérifie pas NULL, il existe un risque d'obtenir une exception NullPointerException.
S'il ne renvoie jamais NULL, l'appelant de la méthode n'a pas à supposer un cas où NULL est retourné. La mise en œuvre de l'appelant sera un peu plus facile.
Supprimez tous les éléments de la liste en utilisant
remove () '' ou
`` removeAll () '', etc.
Collections.emptyList()Retournons une liste vide.
Il est également judicieux d'ajouter un texte final à la déclaration de liste.
* Je vous l'ai dit dans les commentaires.
# Deuxièmement: je veux que vous utilisiez isEmpty () au lieu de size == 0
Est-ce un passe-temps personnel? opinion? est.
#### **`list.size ==Liste au lieu de 0.isEmpty()Je te veux.`**
Je pense qu'il y a une opinion selon laquelle "le contenu de est vide ()
`est
size == 0` `` !!! ".
C'est vrai du tout.
Rien ne change en tant que contenu de traitement.
Mais n'est-ce pas `list.isEmpty ()`
plus facile à comprendre que
list.size == 0 ''
...?
Peut-être que
list.isEmpty () '' `` est plus facile à comprendre pour les programmeurs non-Java, "Je vérifie si c'est vide!".
Je veux que vous arrêtiez la vérification NULL et ne vérifiez que le vide de isEmpty () `` `. Pour éviter d'avoir à vérifier NULL, ne retournez jamais NULL dans "un processus / une méthode", même si cela renvoie une liste vide.
size() == 0Que,
isempty()Est plus lisible**Je pense personnellement**Alors
isempty()```utiliser.
List<String> list =Certains processus / méthode (la liste est renvoyée);
//Chèque vide uniquement
if (list.isEmpty()) {
}
Parfois, il y a un code qui juge avec `` && '' comme indiqué ci-dessous, mais soyez prudent car cela entraînera une NullPointerException lorsque NULL arrive.
if(list == null && list.size() == 0){}
Apparemment dans la formation des nouveaux employés(list == null || list.size() == 0)Il semble qu'on lui ait appris. Je n'ai pas tort, mais ... j'en avais marre, alors j'ai écrit un article. (Que voulez-vous dire?
Recommended Posts