Stringinhalt überprüfen

B

ByeBye 249712

Hi,

Ich bekomme einen String an eine Methode übergeben welcher null ist,
jetzt möchte ich das irgendwie abfragen. Wenn er null liefert soll etwas passieren.
Habe schon verschiedene Sachen ausprobiert, bis jetzt ohne Erfolg.
myString.equals(null)
myString == null
myString == ""
myString.isEmpty()

ergeben alle Exceptions, weis jemand Rat?
Danke vorerst
 
Hallo,

könntest du mal ein konkretes Beispiel schicken? Ich kann mir eigentlich nicht vorstellen, dass du mit keiner der Abfragen oben erfolg hast.

Gruß,
Wolf
 
Moin,

Habe schon verschiedene Sachen ausprobiert, bis jetzt ohne Erfolg.
myString.equals(null)
myString == null
myString == ""
myString.isEmpty()
ergeben alle Exceptions, weis jemand Rat?

hmm, nur die zweite Variante ist die Richtige und kann überhaupt funktionieren ....

Welche Exception kommt denn ? Ich vermute mal, sie kommt aus dem Code danach ....
Und poste zudem den releavnten Code, da hier keine Lust hat zu raten !

Gruß
Klaus
 
Hi
Es kann nicht sein, dass alle 4 Varianten eine Exception werfen.
Java:
myString == null
ist immer definiert, und zwar für jeden Datentyp. Genauso ist
Java:
myString == ""
für jeden String definiert. Hast du vielleicht die Strichpunkte vergessen?
Wichtig ist noch: Vergleiche von Objekten sollte man mit .equals() durchführen, nicht mit '==', so lange man nicht tatsächlich die Referenz vergleichen will.
 
Java:
 public final String aString(final String mystring) {

    if (myString.equals(null)) {
        JOptionPane.showMessageDialog(null,
                    "test");
    }
}

Der String wird vom Conroller übergeben und enthält "null".
Dies habe ich schon überprüft.
Trotzdem geht es nicht.
Der returnwert ist nicht der String der überprüft wird, nur zur Info.

dies ist die exception die er wirft:
at java.util.regex.Matcher.getTextLength(Matcher.java:1234)
 
Hast du oben eigentlich gelesen, wie die Prüfung richtig wäre?

Dein zweiter Post ist keine Exception, nur eine Zeilenangabe.

Und keine Doppelposts. :rolleyes:
 
Ja hab ich, aber wie schon erwähnt geht es mit "myString == null" nicht.

Was die exception angeht ist das warcheinlich die richtige Angabe:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException :)
 
Code:
java.util.regex.Matcher.getTextLength(Matcher.java:1234)
Und du bist dir wirklich sicher, dass das auch bei ==null passiert?
 
Also das sieht mir aber auch eher danach aus, dass die Exception du jetzt bekommst an dem ".equals()" Aufruf liegt. Er versucht ja immerhin 2 Strings gegeneinander zu matchen und da der eine null ist, fliegt dir das ganze um die Ohren. Ich denke auch eher, dass wenn mit "mystring == null" eine Exception fliegt, das an einer anderen Stelle passieren wird.

Gruß,
Wolf
 
Java:
myString.equals(null)
geht natürlich nicht, wenn myString die Nullreferenz ist, dann wird eine NullPointerException geworfen, weil man keine Methoden auf Nullreferenzen ausführen kann. Dieser Ausdruck kann niemals 'true' zurück geben.
Java:
myString == null
funktioniert in deinem Code auf jeden Fall. Poste doch vielleicht mal für beide Fälle den ganzen StackTrace.
 

Neue Beiträge

Zurück