Dekso:
¿Por qué recibo excepción de puntero nulo en este código?
BigDecimal test = null;
String data = "";
try {
System.out.println(test==null?"":test.toString());
data = test==null?"":test.toString();
System.out.println(data);
data = data + " " + test==null?"":test.toString(); // catching null pointer in this line
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
Eran :
Se evaluación de las expresiones como:
data = (data + " " + test==null)?"":test.toString();
así, ya que data + " " + test
no es null
, que intenta llamar test.toString()
incluso cuando test
es null
.
Cambio
data = data + " " + test==null?"":test.toString();
a
data = data + " " + (test==null?"":test.toString());