Vérifier la valeur null de la carte
Je suis map
comme résultat et quand je suis arriver valeur que j'ai besoin de les convertir à String
comme ci-dessous:
a.setA(map.get("A").toString());
mais si elle renvoie null
qu'il jette nullPointerException
, donc je l'ai changer avec ci-dessous:
a.setA(map.get("A")!=null?map.get("A").toString():"");
mais il y a plus de 20 champs pour que je suis en train de faire la même chose donc je veux juste faire comme ci-dessous:
String val = "";
a.setA(val=map.get("A")!=null?val.toString():"");
mais il renvoie blank
tous les temps, j'ai juste simple question est peut-on pas utiliser la variable comme ceci? ou est-il une autre option pour faire de même?
- Vous avez besoin des parenthèses:
a.setA((val=map.get("A"))!=null?val.toString():"");
Vous devez vous connecter pour publier un commentaire.
Utiliser une méthode. Et éviter d'appeler
get()
deux fois:...
Maintenant, répétez après moi: "je ne code en double".
Pourquoi ne pas vous créer un util méthode de ce genre:
Maintenant, il vous suffit d'appeler cette méthode:
Problème est que
val
l'habitude d'obtenir la valeur que vous voulez, jusqu'à cemap.get("A")!=null?val.toString():""
est évaluée, essayez plutôt ceci:de sorte que vous être sûr que
val=map.get("A")
évalue avant toute chose.Vous pouvez essayer ce
avec Java 8, vous pouvez effectuer les opérations suivantes: