Quelle est la différence entre
Object foo = "something";
String bar = String.valueOf(foo);
et
Object foo = "something";
String bar = (String) foo;
Quelle est la différence entre
Object foo = "something";
String bar = String.valueOf(foo);
et
Object foo = "something";
String bar = (String) foo;
La conversion en chaîne de caractères ne fonctionne que lorsque l'objet est en fait une chaîne de caractères :
Object reallyAString = "foo";
String str = (String) reallyAString; // works.
Cela ne fonctionnera pas si l'objet est autre chose :
Object notAString = new Integer(42);
String str = (String) notAString; // will throw a ClassCastException
String.valueOf()
cependant, il essaiera de convertir tout ce que vous lui passerez en un fichier String
. Il gère les deux primitives ( 42
) et des objets ( new Integer(42)
en utilisant l'objet toString()
) :
String str;
str = String.valueOf(new Integer(42)); // str will hold "42"
str = String.valueOf("foo"); // str will hold "foo"
Object nullValue = null;
str = String.valueOf(nullValue); // str will hold "null"
Notez en particulier le dernier exemple : passer null
a String.valueOf()
retournera la chaîne de caractères "null"
.
La méthode String.valueOf est utilisée pour obtenir la représentation de l'objet paramètre sous forme de chaîne.
(String) value convertit la valeur de l'objet en chaîne de caractères.
Vous pouvez utiliser la méthode String.valueOf pour obtenir la représentation en chaîne d'un objet sans vous soucier des références nulles. Si vous essayez d'utiliser String sur une référence nulle, vous obtiendrez une NullPointerException.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.