Double Possible:
Comment obtenir la première valeur non nulle en Java?Est-il possible de faire quelque chose de similaire à la suivante de code en Java
int y = x ?? -1;
- Comment obtenir la première valeur non nulle en Java? (5 réponses )
Réponses
Trop de publicités?Malheureusement - pas. Le plus proche que vous pouvez faire est de:
int y = (x != null) ? x : -1;
Bien sûr, vous pouvez l'envelopper dans de la bibliothèque de méthodes si vous en sentez le besoin (il est peu probable de les couper sur la longueur), mais au niveau de la syntaxe niveau, il n'y a rien de plus succincte disponibles.
La goyave est une méthode qui a fait quelque chose de similaire appelé Objets.firstNonNull(T,T).
Integer x = ...
int y = Objects.firstNonNull(x, -1);
Il est plus utile lorsque vous avez quelque chose comme
int y = firstNonNull(calculateNullableValue(), -1);
car il vous permet d'économiser de soit en appelant le risque de coûter très cher méthode deux fois ou la déclaration d'une variable locale dans votre code pour faire référence à deux fois.
Primitifs en Java ne peut jamais être nulle, de sorte que la déclaration n'a pas de sens sur le plan conceptuel. Cependant, les classes wrapper (Entier, Caractère, etc), ainsi que toute autre classe instanciable peut être null.
Outre ce fait, il n'y a pas à court de main syntaxe pour une valeur nulle de coalescence de l'opérateur. Vous devez utiliser la forme développée.