PS: Warum in VB ein Leerer String "" Empty ist Weiß ich, jedanfalls kann ich es nachvollziehen. Er hat ja keinen Inhalt. Wie wenn ein Integer Leer, also nicht posetiv, negativ oder 0 ist.
null ist in Java sogar eine nicht initialisierte Referenz, das heißt, es gibt noch gar kein Objekt. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Obwohl. ( ( null == "" ) == true ) Passt doch weil Nichts ist ja Nichts und "" ist ein String mit Nichts als Inhalt Nur ist das nicht Fakt, da ("" == null) ja false zurückliefert.
Obwohl. ( ( null == "" ) == true ) Passt doch weil Nichts ist ja Nichts und "" ist ein String mit Nichts als Inhalt Nur ist das nicht Fakt, da ("" == null) ja false zurückliefert.
Was man sich dabei nur gedacht hat?
Es geht um den Unterschied zwischen "" und null. Denn "" ist ein initialisiertes String-Objekt mit keinen Zeichen und null ist ein nicht-initialisiertes Objekt jeder Art also auch String.
Also ist "" ein String Objekt mit keinen enthaltenen Zeichen und null ist eine nicht-existierende Referenz.
"" ist eine Adresse, z.b 0x44404040, welche auf ein Objekt String zeigt mit keinem Inhalt. null ist eine Adresse 0x00000000, welche auf nichts zeigt, also uninitialisiert.
Java vergleicht bei deinem Beispiel dann z.b
(0x00000000 == 0x44404040) == true
was ja wohl false == true und dadurch false ergibt.
(um die anderen antworten mal zu verdeutlichen) -- class God : public ChuckNorris { };