Maison  >  Article  >  Java  >  Différence entre valueOf et toString, (String) en Java

Différence entre valueOf et toString, (String) en Java

零下一度
零下一度original
2017-05-25 14:53:571914parcourir

Dans le développement et l'application réels de projets Java, il est souvent nécessaire d'utiliser la fonction de base de conversion d'objets en String. Cet article fournira un résumé des méthodes de conversion couramment utilisées. Les méthodes couramment utilisées incluent Object.toString(), (String) l'objet à convertir, String.valueOf(Object), etc. Ces méthodes sont analysées une par une ci-dessous.


Méthode 1 : Utilisation de la méthode Object.toString(), voir ci-dessous Exemple :
Object object = getObject();
System.out.println(object.toString());

Dans cette méthode d'utilisation, comme il existe une méthode publique .toString() dans la classe java.lang.Object, cette méthode peut être appelée sur n'importe quel objet Java au sens strict. Mais lors de son utilisation, veuillez noter que l'objet ne doit pas être une valeur nulle, sinon une NullPointerException sera levée. Lors de l'utilisation de cette méthode, la classe dérivée remplacera généralement la méthode toString() dans Object.

Méthode 2 : Utilisez la méthode d'objet de conversion de type (String). conversion de type. , convertit l’objet en valeur de type String. Lors de l'utilisation de cette méthode, il convient de noter que le type doit être convertible en type String. Par conséquent, il est préférable d’utiliser instanceof pour effectuer une vérification de type afin de déterminer s’il peut être converti. Sinon, il est facile de lancer CalssCastException. De plus, une attention particulière est requise car il est défini comme Objet Lorsqu'un objet de type est converti en String, la vérification de la syntaxe ne signalera pas d'erreur, ce qui peut entraîner des erreurs potentielles. Soyez très prudent en ce moment. Par exemple :
Object obj = new Integer(100);
String strVal = (String ) obj;
provoquera une erreur au moment de l'exécution car le type Integer est forcé de convertir en type String et ne peut pas être transmis. Cependant,
Integer obj = new Integer(100);
String strVal = (String)obj;
S'il s'agit du formater le code, une erreur de grammaire sera signalée.

De plus, (String)null est également légal car la valeur null peut être convertie en n'importe quel type de classe Java.

Méthode 3 : Utilisation de String.valueOf(Object) La base de String.valueOf(Object) est Object.toString(). Mais c'est différent de Object#toString(). Comme mentionné dans l'analyse précédente de la méthode 1, lors de l'utilisation de cette dernière, il faut s'assurer qu'elle n'est pas nulle. Mais lorsque vous utilisez la troisième méthode, vous n'avez pas à vous soucier de savoir si l'objet est une valeur nulle. Afin de faciliter l'explication du problème, analysons le code source concerné. Le code source de String.valueOf(Object) dans Jdk est le suivant :
public static String valueOf(Object obj) {
return (obj = = null) ? " null" : obj.toString(); }
D'après le code source ci-dessus, nous pouvons clairement voir la raison pour laquelle il n'y a pas lieu de s'inquiéter des valeurs nulles. Cependant, cela nous expose également à des dangers cachés. Nous devons noter que lorsque l'objet est nul, la valeur de String.valueOf(object) est la chaîne "null", et non nulle ! ! ! Pensez à faire attention lors de l'utilisation. Imaginez simplement les problèmes qui peuvent survenir si nous utilisons des instructions telles que if(String.valueOf(object)==null){System.out.println("La valeur transmise est nulle!");}. Détrompez-vous, lors de la sortie vers la console, quelle est la différence visuelle dans les résultats d'exécution des instructions suivantes :

System.out.println(String.valueOf(null ) );//C'est la chaîne "null"

System.out.println(null);//C'est la valeur vide null
Le résultat que nous verrons sera exactement la même chose : null, mais signifient-ils la même chose ?

Recommandations associées]

1. Explication détaillée des exemples de méthodes valueOf en Java

2 valueOf, parseInt, toString. en Java La différence entre les trois

3 Compréhension approfondie de la fonction valueOf et de la méthode toString

4. Introduction à la fonction de conversion d'objet. toString() et valueOf()

5. Utilisez la méthode toString() pour renvoyer l'heure sous forme de chaîne

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn