Heim  >  Artikel  >  Java  >  Unterschied zwischen valueOf und toString,(String) in Java

Unterschied zwischen valueOf und toString,(String) in Java

零下一度
零下一度Original
2017-05-25 14:53:571916Durchsuche

Bei der tatsächlichen Entwicklung und Anwendung von Java-Projekten ist es häufig erforderlich, die Grundfunktion zum Konvertieren von Objekten in String zu verwenden. Dieser Artikel bietet eine Zusammenfassung häufig verwendeter Konvertierungsmethoden. Zu den häufig verwendeten Methoden gehören Object.toString(), (String) das zu konvertierende Objekt, String.valueOf(Object) usw. Diese Methoden werden im Folgenden einzeln analysiert.


Methode 1: Verwendung der Methode Object.toString() siehe unten Beispiel:
Object object = getObject();
System.out.println(object.toString());

Da es bei dieser Verwendungsmethode eine öffentliche Methode .toString() in der Klasse java.lang.Object gibt, kann diese Methode im engeren Sinne für jedes Java-Objekt aufgerufen werden. Bitte beachten Sie bei der Verwendung jedoch, dass das Objekt kein Nullwert sein darf, da sonst eine NullPointerException geworfen wird. Bei Verwendung dieser Methode überschreibt die abgeleitete Klasse normalerweise die toString()-Methode in Object.

Methode 2: Verwenden Sie die Typkonvertierungsobjektmethode (String). Dies ist ein Standard Typkonvertierung: Konvertieren Sie das Objekt in einen String-Typwert. Bei Verwendung dieser Methode ist zu beachten, dass der Typ in den String-Typ konvertierbar sein muss. Daher ist es am besten, mit der Instanz von eine Typprüfung durchzuführen, um festzustellen, ob sie konvertiert werden kann. Andernfalls kann leicht eine CalssCastException ausgelöst werden. Darüber hinaus ist besondere Sorgfalt erforderlich, da es als Objekt definiert ist Wenn ein Objekt vom Typ in String konvertiert wird, meldet die Syntaxprüfung keinen Fehler, was zu möglichen Fehlern führen kann. Seien Sie zu diesem Zeitpunkt besonders vorsichtig. Zum Beispiel:
Object obj = new Integer(100);
String strVal = (String ) obj;
verursacht zur Laufzeit einen Fehler, da der Integer-Typ gezwungen ist, in den String-Typ zu konvertieren und nicht übergeben werden kann. Allerdings
Integer obj = new Integer(100);
String strVal = (String)obj;
Wenn dies der Fall ist Formatcode, ein Grammatikfehler wird gemeldet.

Darüber hinaus ist (String)null auch zulässig, da der Nullwert in jeden Java-Klassentyp umgewandelt werden kann.

Methode 3: Verwenden von String.valueOf(Object) Die Basis von String.valueOf(Object) ist Object.toString(). Aber es unterscheidet sich von Object#toString(). Wie in der vorherigen Analyse von Methode 1 erwähnt, muss bei der Verwendung letzterer sichergestellt werden, dass sie nicht null ist. Wenn Sie jedoch die dritte Methode verwenden, müssen Sie sich keine Gedanken darüber machen, ob das Objekt ein Nullwert ist. Um die Erklärung des Problems zu erleichtern, analysieren wir den relevanten Quellcode. Der Quellcode von String.valueOf(Object) in Jdk lautet wie folgt:
public static String valueOf(Object obj) {
return (obj = = null)? Dies birgt jedoch auch versteckte Gefahren.
Wir sollten beachten, dass, wenn das Objekt null ist, der Wert von String.valueOf(object) die Zeichenfolge „null“ und nicht null ist! ! ! Denken Sie daran, während des Gebrauchs aufmerksam zu sein. Stellen Sie sich vor, welche Probleme auftreten können, wenn wir Anweisungen wie if(String.valueOf(object)==null){System.out.println("Der übergebene Wert ist null!");} verwenden. Denken Sie noch einmal darüber nach, was bei der Ausgabe an die Konsole der visuelle Unterschied in den Ausführungsergebnissen der folgenden Anweisungen ist:
System.out.println(String.valueOf(null ) );//Es ist die Zeichenfolge „null

System.out.println(null);//Es ist der leere Wert null

Die Ausgabe, die wir sehen, wird genau dasselbe sein: null, aber bedeuten sie dasselbe?
Verwandte Empfehlungen]

1.

Detaillierte Erläuterung der valueOf-Methodenbeispiele in Java

2. valueOf, parseInt, toString in Java Der Unterschied zwischen den drei

3. Detailliertes Verständnis der valueOf-Funktion und der toString-Methode

4 toString() und valueOf()

5. Verwenden Sie die toString()-Methode, um die Zeit als String zurückzugeben

Das obige ist der detaillierte Inhalt vonUnterschied zwischen valueOf und toString,(String) in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn