# string mit null abfragen



## Guest (10. Dez 2004)

mein string ist mit null initialisiert
String a = null;

wie kann ich diesen string abfragen. ich möchte eine schleife haben, die solange läuft so lange a = null ist.

das funktioniert nicht:

while(a.equal(null));

warum eigentlich nicht?


----------



## Roar (10. Dez 2004)

1. ich geh mal davon aus dass du in deinem quellcode auch equals und nicht equal geschrieben hast
2. wenn a null ist, was soll dann equals() ? wenn a kein string ist kansnt du auch keien methode von string drauf anwenden. a == null

zur erklärung: wahrschinlihch ast du equals falsch verstanden. equals vergleicht den *IUnhalt* der strings, nicht die objekte selbst


----------



## Guest (10. Dez 2004)

folgender code:


```
do {
        if (Benutzereingabe == true) {
          a = irgendeinwert;
        }
        else {
          a = null;

        }
      }
      while (a.equals(null));
```

mir ist schon klar, dass dies eine endlosschlife bedeutet, aber ich habe verdammt viel code weggelassen. man stelle sich vor zu irgendeiner zeit ist die benuzereingabe true. bitte helft mir bei meinem problem und findet keine anderen, die finde ich dann bestimmt selbst. 

danke


----------



## Roar (10. Dez 2004)

Roar hat gesagt.:
			
		

> a == null


----------



## Guest (10. Dez 2004)

aber in meinem schlauen buch schreiben sie, da wird nur die speicherstelle und nicht der inhalt verglichen oder verstehe ich was falsch?


----------



## Roar (10. Dez 2004)

ääh stimmt ja auch. aber a null ist, hat es keinen inhalt. wenn du keinen inhalt hastkanndt du auch nix vergleichen


----------



## meez (10. Dez 2004)

equals ist eine Methode von Object, welches Objekte (Objectreferenzen) miteinander vergleicht. 
Da das bei String oder Integer nicht viel Sinn macht, wird sie bei diesen Klassen überschrieben. (Damit der Inhalt verglichen wird).
Das Problem bei null ist, dass die Variable keine Objektrefernz hat (also kein Objekt), und deshalb auch die Methode equals von Object ncht zur Verfügung steht. Deshalb wird mit == auf null getestet...


----------



## Guest (10. Dez 2004)

aha besten dank für die erklärungen. ich dachte immer, dass auch null ein wert ist. offensichtlich ist das keiner.


----------



## meez (10. Dez 2004)

Null heisst: Nicht definiert (Also nichts)...


----------

