Выполняя следующий код, я получаю 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);
    }
}
 Может ли кто-нибудь помочь мне понять это поведение?
