PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aus ArrayList lesen mit "null" Werten



CheGuevara
09-08-2005, 13:24
Hallo Leute,

In einem Struts-Projekt muss ich aus einer Datenbank lesen. Als Resultat bekomme ich ein ResultSet. Für jeden Eintrag aus diesem Resultset wird ein bean mit den ausgelesenen Membervariablen erzeugt und in ein ArrayList gelegt. (Also ich habe jetzt ein ArrayList voller Beans)
Dieses ArrayList lese ich dann in einer .jsp iterate schlaufe durch und erhalte dann eine HTML tabelle.
Das funktioniert auch.
Jetzt mein Problem....,
Sobald ein Attribut aus der Datenbank einen "null" Wert hat, bekomme ich keinen einzigen Wert mehr aus der iterate.
In der HTML Anzeige kommen nur noch leere Felder. (Auch bei denen die eigentlich einen Eintrag drinn hätten).
Wenn ich mir die Sourcen der HTML-Tabelle Seite anzeigen lasse, ist zwar die Anzahl der enthaltenen Datenbankeinträge drinen, aber leer.

Kann jemand helfen?

Freundliche Grüsse
CheGuevara

Lin728
09-08-2005, 17:58
Hallo!

Blöde Frage ich weis, aber kanns sein dass du irgendwo eine NullPointerException/SQLException übersehen hast?
Weil ehrlich gesagt fällt mir auch kein anderer Grund ein, versuch mal ein try/catch um den problematischen Block zu machen und abzufangen was so daherkommt.

CheGuevara
09-08-2005, 22:41
Ich muss eventuell noch sagen, dass ich es mit einer
If blabla.evquals(null)
abfangen wollte, nur funzte es nicht. Werde morgen nochmals die try an catch Excepions anschauen. Vieleicht ist mir da wirklich was unbemerkt durchgegangen.

peschmae
10-08-2005, 08:56
blabla.equals(null) wäre ja überraschend wenn das gehen würde. Ich meine du würdest ja - wenn das Ding null ist - da die equals-Methode von einem nicht existierenden Objekt aufrufen.

Eher blabla == null, oder?

MfG Peschmä

CheGuevara
10-08-2005, 13:25
blabla.equals(null) wäre ja überraschend wenn das gehen würde. Ich meine du würdest ja - wenn das Ding null ist - da die equals-Methode von einem nicht existierenden Objekt aufrufen.

Eher blabla == null, oder?

MfG Peschmä

Ok, danke für die Anmerkung.
Aber, da "blabla" ein String ist und String ein Objekt, funktioniert diese Kostelation. Bei == wird nur der Speicherwert verglichen. Falls es vom gleichen Objekt ist, funktioniert diese Bedingung. Aber bei unterschiedlichen Objekten eben nicht.

Oder irre ich mich?

Aber, egal! Ich habs hingekriegt. Der Fehler lag bei mir (wie immer). Ich bezog mich auf ein zwar existierendes, aber falsches Objekt.

Gruss
CheGuevara

peschmae
10-08-2005, 17:07
Ok, danke für die Anmerkung.
Aber, da "blabla" ein String ist und String ein Objekt, funktioniert diese Kostelation. Bei == wird nur der Speicherwert verglichen. Falls es vom gleichen Objekt ist, funktioniert diese Bedingung. Aber bei unterschiedlichen Objekten eben nicht.

Oder irre ich mich?


Das stimmt und bringt auch was wenn du Strings vergleichen willst.

Aber hier willst du doch Testen ob der String blabla eine Nullreferenz (tönt doof, nullpointer ist besser) ist.
a) er ist keine Nullreferenz - kein Problem
b) er ist eine Nullreferenz - dann gibts schon beim Ausführen der Equals-Methode eine Nullpointerexception

Ausserdem willst du ja nicht den Stringinhalt vergleichen, was man mit equals() macht sondern eben ob die Referenz null ist - und das geht mit == null.

Wobei letztendlich kannst du natürlich statt dieser Prüfung auch einfach die Nullpointerexcepiton abfangen wenn sie geworfen wird, dazu sind Exceptions ja eigentlich gedacht ;)

MfG Peschmä

CheGuevara
10-08-2005, 20:39
Und schon wieder was dazu gelernt, danke!

Gruss
CheGuevara