Tout moyen simple de tester null avant de convertir un object en chaîne

J’écris toujours

Object o; if (o!=null) Ssortingng s = o.toSsortingng(); 

S’il existe un moyen simple de gérer ce cas?

ObjectUtils.toSsortingng(object) de commons-lang. Le code il y a en fait une ligne:

 return obj == null ? "" : obj.toSsortingng(); 

Juste une note – utilisez toSsortingng() uniquement pour le débogage et la journalisation. Ne comptez pas sur le format de toSsortingng() .

La méthode statique valueOf de la classe Ssortingng effectuera la vérification null et renverra "null" si l’object est null :

 Ssortingng ssortingngRepresentation = Ssortingng.valueOf(o); 

Try Objects.toSsortingng(Object o, Ssortingng nullDefault)

Exemple:

 import java.util.Objects; Object o1 = null; Object o2 = "aSsortingng"; Ssortingng s; s = Objects.toSsortingng(o1, "isNull"); // returns "isNull" s = Objects.toSsortingng(o2, "isNull"); // returns "aSsortingng" 

Réponse mise à jour de Bozho et janvier-59 pour référence:

ObjectUtils.toSsortingng(object) partir de commons-lang. Le code est en fait une ligne:

 return obj == null ? "" : obj.toSsortingng(); 

Cependant, cette méthode dans Apache Commons est maintenant obsolète depuis la version 3.2 (commons / lang3). Leur objective était de supprimer toutes les méthodes disponibles dans Jdk7. La méthode a été remplacée par java.util.Objects.toSsortingng(Object) dans Java 7 et sera probablement supprimée dans les versions ultérieures. Après quelques discussions, ils ne l’ont pas encore supprimé (actuellement en 3.4) et il est toujours disponible en tant que méthode obsolète.

Notez cependant que la méthode java 7+ renverra “null” pour les références nulles, alors que cette méthode retourne et vide Ssortingng. Pour préserver l’utilisation du comportement

 java.util.Objects.toSsortingng(myObject, "") 

Ssortingng.valueOf(o) renvoie la chaîne “null” si o est nul.

Un autre pourrait être Ssortingng s = o == null? "default" : o.toSsortingng() Ssortingng s = o == null? "default" : o.toSsortingng()

Vous pouvez utiliser java 8 optionnel de la manière suivante:

 Ssortingng s = Optional.ofNullable(o).map(Object::toSsortingng).orElse("null"); 

En fonction de ce que vous voulez sur une valeur null , mais vous pouvez le faire simplement

 Object o = Ssortingng s = ""+o; 

Ceci est le comportement par défaut pour println et ssortingng append etc.

On dirait que vous voulez obtenir une chaîne lorsque o n’est pas une valeur NULL. Mais je confonds que si vous codez comme le vôtre, vous ne pouvez pas accéder aux variables s (vous connaissez la scope de if).

 import java.util.Objects; Objects.toSsortingng(object, "") 

Exception d’exécution simple et 0 🙂