-1
votes

Quelle est la meilleure façon de vérifier l'objet et ses membres sont nuls en Java

avoir cette pièce de code: xxx

Je veux vérifier si x et la carte sont nuls. Actuellement, j'ai ce qui suit: xxx

se demandant s'il y a une plus belle façon de le vérifier.


1 commentaires

Ce code que vous montrez ne compile pas, donc nous ne savons pas ce que vous faites. Qu'est-ce que isnullorempty ? Un champ? Une méthode?


5 Réponses :


-2
votes

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> xxx pré>

et une autre qui est le contraire de ce qui précède Un: p> xxx pré>

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);


1 commentaires

Vous venez de copier collé Cette réponse



0
votes

Si vous voulez le coder vous-même.

si (x = null || x.Impty ())

Si déjà en utilisant le Apache Collections Library .

si (maputils.Impty (x))


0 commentaires

1
votes

En utilisant en option.fnullable () et en option.map () xxx


0 commentaires

2
votes

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

  //...
}


1 commentaires

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 inutile Création d'instance. Jolie code = code simple et facile à entretenir, joli code! = Code utilisant lambda.



0
votes

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: xxx

Si vous souhaitez également vérifier que sa carte est vide (il ne contient pas de mappages de valeur de clé), vous pouvez utiliser: xxx


0 commentaires