avoir cette pièce de code: Je veux vérifier si x et la carte sont nuls.
Actuellement, j'ai ce qui suit: p> se demandant s'il y a une plus belle façon de le vérifier. P> p>
5 Réponses :
Le moyen le plus simple de vérifier est l'entité == null. Il n'y a pas de moyen plus courte de le faire.
Notez qu'il existe une méthode pour cela dans la norme LIB: p> et une autre qui est le contraire de ce qui précède Un: p> et il y en a une autre qui peut être utilisé pour forcer une valeur à ne pas nuler, elle jette une nullpointerexception autrement: p> T Objects.requireNonNull(T obj);
Vous venez de copier collé Cette réponse
Si vous voulez le coder vous-même. p>
Si déjà en utilisant le Apache Collections Library . P >
si (x = null || x.Impty ()) code> p>
si (maputils.Impty (x)) code> p>
En utilisant en option.fnullable () code> et
en option.map () code>
Vous pouvez utiliser en option code> avec son
Filtre code> et
plan code> Méthodes:
private void checkFunction(X x) throws Exception {
Optional.ofNullable(x)
.map(X::getMap)
.filter(map -> !map.isEmpty())
.orElseThrow(() -> new Exception()); // your exception here
//...
}
Ce n'est pas "plus jolie" IMO, il est plus complexe, plus difficile à entretenir et plus difficile à comprendre, vous ajoutez également la surcharge de en option code> inutile Création d'instance. Jolie code = code simple et facile à entretenir, joli code! = Code utilisant lambda.
Si l'objet est NULL, il n'a pas de membre, vous ne pouvez donc pas avoir l'objet et ses membres null en même temps.
Si vous souhaitez vérifier si l'objet ou son champ est null alors Vous pouvez utiliser: p> Si vous souhaitez également vérifier que sa carte est vide (il ne contient pas de mappages de valeur de clé), vous pouvez utiliser: p>
Ce code que vous montrez ne compile pas, donc nous ne savons pas ce que vous faites. Qu'est-ce que
isnullorempty code>? Un champ? Une méthode?