Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » Java: (("" == null) == false) ???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
25.11.2005, 20:41 Uhr
~Halbblut
Gast


Hallo,

Warum ist in VB

Visual Basic:
( (Empty = "") = True )


Wahr, und in Java

Visual Basic:
( null == "") == true )


Falsch?

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.

??? Halbblut
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2005, 20:46 Uhr
~Halbblut
Gast


Sry, eine Klammer vergessen.

Der Java-Code muss natürlich

Code:
( (null == "") == true )


Lauten.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.11.2005, 20:59 Uhr
KaraHead



Ich kann jetzt nur für die Java-Ecke sprechen.
In java ist "" ein leerer String und null ist ein nicht initialisiertes Objekt bzw. String.

Für mich klingt das logisch:

Code:
( ( null == "" ) == true )
(null == "") => false
false == true => false



Also ist das Endergebnis false.

Es liegt wahrscheinlich daran, dass Empty in VB nicht gleich null in Java ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.11.2005, 21:16 Uhr
~Halbblut
Gast



Zitat:

Es liegt wahrscheinlich daran, dass Empty in VB nicht gleich null in Java ist.



Ja das wirds wohl sein.
Habe ich mir auch schon gedacht aber fragen macht schlauer.


Zitat:


Code:
( ( null == "" ) == true )
(null == "") => false
false == true => false





( ( null == "" ) == true ) Passt irgendwie nicht aber sonst ...
mehr als Richtig *g*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.11.2005, 21:57 Uhr
0xdeadbeef
Gott
(Operator)


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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.11.2005, 22:14 Uhr
~Halbblut
Gast


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?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.11.2005, 22:21 Uhr
KaraHead




Zitat von ~Halbblut:
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.

Das ist ein großer Unterschied
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.11.2005, 00:08 Uhr
~Halbblut
Gast


Nun hab ichs auch.

Code:
int i;
int j = null;
j = null;


geht ja nicht.

Kann ich also mit rechts behaupten das man mit
null prüft ob ein Objekt exsistiert also deklariert wurde?

und in Java alle Objekte nicht den Wert null haben können.
Weil

Code:
String str = new String();
str.equals(null) == true;


ja nicht zutrifft, da str "" ist?

PS: Lerne erst Java und habe noch nicht so den Überblick.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.11.2005, 09:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


"" 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 { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.11.2005, 13:15 Uhr
~Halbblut
Gast


thx.
Nun weiss ich was der unterschied zwischen "" und null ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: