BigDecimal bigDec.equals(null)

hi!

folgendes Codestück:

System.out.println(new_price);
if (new_price.equals(null)) {
System.out.println(„Hallo da bin ich!“);
new_price = BigDecimal.ZERO;
}

durch das erste System.out.print weiß ich, dass new_price null ist, trotzdem komm ich nicht in die if-schleife.

new_price ist ein BigDecimal der aus einer DB ausgelesen wird, zur weiterverarbeitung darf er nicht null sein sondern muss in dem fall auf 0 gesetzt werden.

was mache ich falsch?

lg,
t.

Hallo!

durch das erste System.out.print weiß ich, dass new_price null
ist, trotzdem komm ich nicht in die if-schleife.

Da stimmt was nicht. new_price kann nicht null sein, ohne dass es eine NullPointerException gibt. null heißt ja, dass die Referenzvariable auf kein Objekt zeigt, aber ohne Objekt kein equals().

Jan

Hi,

durch das erste System.out.print weiß ich, dass new_price null
ist, trotzdem komm ich nicht in die if-schleife.

Da stimmt was nicht. new_price kann nicht null sein, ohne dass
es eine NullPointerException gibt. null heißt ja, dass die
Referenzvariable auf kein Objekt zeigt, aber ohne Objekt kein
equals().

genau, vielleicht hast du ja nicht gemerkt, das er rausgeflogen ist. Versuchs mal mit:

 if (new\_price == null)

denn du vergleichst ja den Pointer mit null und nicht den Wert des Objekts.

Gruß
Torsten

ich bekomme auch eine NullPointerException, aber wie kann ich das verhindern?

ich bekomme auch eine NullPointerException, aber wie kann ich
das verhindern?

lies mal den Artikel eins drunter.

das wars wirklich… manchmal ist das brett vorm kopf einfach zu groß…

vielen Dank für die Hilfe!