Выполняя следующий код, я получаю NullPointerException
:
value = condition ? getDouble() : 1.0;
В более ранних строках, когда я использую null
вместо getDouble()
все работает, и это странно.
public class Test {
static Double getDouble() {
return null;
}
public static void main(String[] args) {
boolean condition = true;
Double value;
value = condition ? null : 1.0; //works fine
System.out.println(value); //prints null
value = condition ? getDouble() : 1.0; //throws NPE
System.out.println(value);
}
}
Может ли кто-нибудь помочь мне понять это поведение?