public MyObject method1() {
boolean someBoolean = true;
MyObject obj = ...;
if(!someBoolean) method1();
else return obj;
// flow should never come to this statement, but compiler requires this return. why?
return null;
}
Почему компилятор java требует конечного оператора возврата?Зачем компилятору Java требуется возвращаемое значение?
-Prasanna
Поскольку вы определили в сигнатуре метода, что они должны быть объектом MyObject типа возвращаемого значения. Плюс все пути в методе должны иметь возврат, если его не пусто. –
Вы ошибаетесь. Контроль действительно может дойти до того, что вы укажете. Не настоящий вопрос. – EJP
Должен был опубликовать мой комментарий в качестве ответа ха-ха. –