Тернарный оператор if Java и Collections.emptyList ()

Не могли бы вы объяснить, почему с первым типом возврата код не может быть скомпилирован? Сообщение: Несоответствие типов: невозможно преобразовать из List до List .

Вставлено ли явное приведение во втором случае?

public class GenericsTest {

        private String getString() {
            return null;
        }

        public List<String> method() {
            String someVariable = getString();
            //first return type
            //return someVariable == null ? Collections.emptyList() : Collections.singletonList(someVariable);
            //second return type
            if (someVariable == null) {
                return Collections.emptyList();
            } else {
                return Collections.singletonList(someVariable);
            }
        }
    }
12
задан Joachim Sauer 12 October 2011 в 10:56
поделиться