#java #list #object #arraylist #collections
#java #Список #объект #список массивов #Коллекции
Вопрос:
Я пытаюсь вернуть значение null, когда список пуст:
public List<Object> extractOutput(List<Object> accumulator) {
if (accumulator.isEmpty()){
return null;
}
return accumulator;
}
Но я получаю сообщение об ошибке: [return.type.incompatible].
Я был бы очень признателен, если бы я решил эту проблему.
Комментарии:
1. Считается плохой практикой возвращать
null
, когда вместо этого вы могли бы вернутьemptyList()
и избавить вызывающего от необходимости выполнять проверки null.2. Я полагаю, что метод
extractOutput()
переопределяетextractOutput()
метод в суперклассе с неправильным типом возвращаемого значения.
Ответ №1:
Возврат null считается плохой практикой. Было бы гораздо лучшим решением, если бы ваш метод extractOutput()
возвращал пустой список вместо null
.
Решение:
public List<Object> extractOutput(List<Object> accumulator) {
if (accumulator.isEmpty()){
return Collections.emptyList();
}
return accumulator;
}
Я надеюсь, что смогу помочь вам, продолжайте вашу замечательную работу!