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