По какой-то причине следующий код обычно компилируется:
public double getSomeDouble() {
return "" != null ? 3.7d : null;
}
Обычно я ожидал бы Eclipse, чтобы пометить его как ошибку (null
нельзя преобразовать в примитив double
).
Как раз для моего предположения, этот код не будет работать:
public double getSomeDouble() {
return null;
}
Eclipse отметит строку return null
как ошибку, указав:
Несоответствие типов: невозможно преобразовать из
null
вdouble
Почему он не говорит то же самое в предыдущем фрагменте кода?!