Wie prüfe ich, ob meine Zeichenkette gleich Null ist?
Ich möchte eine Aktion NUR dann ausführen, wenn meine Zeichenfolge einen sinnvollen Wert hat. Also, ich habe dies versucht.
if (!myString.equals("")) {
doSomething
}
und dies
if (!myString.equals(null)) {
doSomething
}
und dies
if ( (!myString.equals("")) && (!myString.equals(null))) {
doSomething
}
und dies
if ( (!myString.equals("")) && (myString!=null)) {
doSomething
}
und dies
if ( myString.length()>0) {
doSomething
}
Und in allen Fällen macht mein Programm etwas
trotz der Tatsache, dass mein String LEER ist. Sie ist gleich Null
. Was ist also falsch daran?
HINZUFÜGEN:
Ich habe den Grund für das Problem gefunden. Die Variable wurde als String deklariert und als Folge davon wurde null
, das dieser Variable zugewiesen wurde, in "null"
umgewandelt! Also, if (!myString.equals("null"))
funktioniert.
166
3
Als weitere Anmerkung sollten Sie diesen Begriff im "Gleichheits"-Vertrag kennen:
Von
Object.equals(Object)
:Der Weg zum Vergleich mit
null
ist die Verwendung vonx == null
undx != null
.Außerdem werfen
x.field
undx.method()
eineNullPointerException
, wennx == null
ist.Sie müssen prüfen, ob das Objekt "myString" "null" ist:
Versuchen Sie es,