was ist der Unterschied zwischen null und "null" von String.valueOf (String-Objekt)

8

in meinem Projekt, Irgendwo muss ich wenn n sonst Bedingung verwenden, um die Nullvariablen

zu überprüfen %Vor%

aber wenn ich den Zustand wie

überprüfe %Vor%

Ausgabe ist "in else" , warum das passiert?

    
arvin_codeHunk 27.11.2012, 05:25
quelle

2 Antworten

14

Hier ist der Quellcode von String.valueOf : -

%Vor%

Wie Sie sehen, gibt es für einen null -Wert "null" string zurück.

Also,

%Vor%

gibt "null" string an valueOf .

Ähnlich, wenn Sie Folgendes tun: -

%Vor%

Sie erhalten: -

%Vor%

BEARBEITEN

Ein anderes Beispiel:

%Vor%

Aber in diesem Fall.

%Vor%     
Rohit Jain 27.11.2012, 05:29
quelle
2

Tatsächlich können Sie sich die Implementierung der Methode ansehen: valueOf (). Du wirst wissen, was dann passiert ist.

In JDK 1.5 ist der Code wie folgt:

%Vor%

Aus dem Code können Sie sehen, dass wenn das Objekt null ist, es eine Nicht-Null-Zeichenfolge mit einem "Null" -Wert zurückgibt, was bedeutet, dass das valueOf-Objekt nicht null ist.

    
Lichader 27.11.2012 05:31
quelle