Это потому, что функция должна вернуть значение. Представьте, что произойдет, если вы выполните myMethod()
, и он не войдет в if(condition)
, что бы ваша функция вернулась? Компилятор должен знать, что нужно возвращать при каждом возможном выполнении вашей функции
Проверка документации по Java:
Определение: если декларация метода имеет тип возврата, тогда должно быть оператор возврата в конце метода. Если в операторе return нет ошибки, возвращаемой командой return.
Эта ошибка также возникает, если метод не имеет типа возврата и не был объявлен с использованием void (т. Е. Он был ошибочно опущен ).
blockquote>Вы можете решить вашу проблему:
public String myMethod() { String result = null; if(condition) { result = x; } return result; }