Java: bei equals erster String ist null :/

L

lol

Aktives Mitglied
Thread Starter
Dabei seit
18.01.2006
Beiträge
1.602
Reaktionspunkte
78
firstString.equals(secondString)
vergleicht ja auf korrekte Art und Weise, im Gegensatz zu == zwei Strings miteinander.
Nur was tue ich, wenn der erste String = null ist? Dann bekomme ich eine Exception. Wie umgehe ich das?
- firstString und secondString zu tauschen macht keinen Sinn, da auch secondString null sein kann.
Danke für euren Tipp
 
Einfach zuvor Abfragen: firstString != null ....

Dann klappts.
 
Wenn sie beide gleichzeitig null sein können, würd ich das vorher auch abfragen, weil dann sind sie ja wieder gleich.

Code:
if (firstString != null) {
  if (secondString != null) {
    firstString.equals(secondString)
  }
  else
    return true;
else
  return false;

oder sowas in der Art (ohne Eclipse-Syntaxprüfung immer schwierig ;))

Gruß,
K
 
Zuletzt bearbeitet:
du könnstet das auch mit einer try catch umgebung machen.

try
{
Vergleich
}
catch(e: NullPointerExeption)
{
}

die Syntax ist ziemlich sicher falsch so, aber die Semantik ist richtig ;)
also einfach try catch suchen und kein Problem.
 
also das mit den try-catch geht natürlich, ist aber definitiv nicht zu empfehlen. das macht die sache sehr unübersichtlich, mißbraucht das exceptions-konzept und verschleihert eine echte NPE in der equals-implementierung.

meine Standardimplementierung ist die:

return firstString != null ? firstString.equals(secondString) : false;
 
wie wäre es die strings entsprechend zu initialisieren bei der definition, damit die einfach nicht null sind ;)
 
das ist natürlich die königslösung, aber wenn man die strings aus einer API bekommt hat man da wenig einfluss drauf.
 
Zurück
Oben Unten