En exécutant le code suivant, j'obtiens un NullPointerException
à la ligne:
value = condition ? getDouble() : 1.0;
Dans les lignes précédentes, lorsque j'utilise null
au lieu de getDouble()
tout fonctionne et c'est étrange.
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);
}
}
Quelqu'un peut-il m'aider à comprendre ce comportement?