Java: bei equals erster String ist null :/

Diskutiere mit über: Java: bei equals erster String ist null :/ im Mac OS X Entwickler, Programmierer Forum

  1. lol

    lol Thread Starter MacUser Mitglied

    Beiträge:
    1.469
    Zustimmungen:
    48
    Registriert seit:
    18.01.2006
    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
     
  2. gishmo

    gishmo MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    23
    Registriert seit:
    16.03.2004
    Einfach zuvor Abfragen: firstString != null ....

    Dann klappts.
     
  3. Kathse

    Kathse MacUser Mitglied

    Beiträge:
    166
    Zustimmungen:
    0
    Registriert seit:
    15.03.2004
    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: 12.10.2006
  4. unclefu

    unclefu MacUser Mitglied

    Beiträge:
    240
    Zustimmungen:
    0
    Registriert seit:
    01.02.2005
    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.
     
  5. oglimmer

    oglimmer MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    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;
     
  6. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.776
    Zustimmungen:
    3.629
    Registriert seit:
    23.11.2004
    wie wäre es die strings entsprechend zu initialisieren bei der definition, damit die einfach nicht null sind ;)
     
  7. oglimmer

    oglimmer MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    Registriert seit:
    16.11.2004
    das ist natürlich die königslösung, aber wenn man die strings aus einer API bekommt hat man da wenig einfluss drauf.
     
Die Seite wird geladen...
Ähnliche Themen - Java bei equals Forum Datum
Java bei Chrome bzw. Firefox Mac OS X Entwickler, Programmierer 10.06.2012
Apple-Extensions bei Java nutzen - z.B. Dock-Menü Mac OS X Entwickler, Programmierer 07.02.2010
fehlender treiber bei mysql verbindung via jdbc-odbc (java) Mac OS X Entwickler, Programmierer 06.03.2009
Java Gleich wie bei Windows? Teil 2 Mac OS X Entwickler, Programmierer 03.01.2007
Java Gleich wie bei Windows? Mac OS X Entwickler, Programmierer 01.01.2007

Diese Seite empfehlen

Benutzerdefinierte Suche