Вызов универсального метода Java

Учитывая универсальный метод:

<T> List<T> getGenericList(int i) {...}

следующий код компилируется без предупреждения:

public List<String> getStringList(boolean b){
    if(b)
        return getGenericList(0);
    else
        return getGenericList(1);
}

но этот генерирует ошибку компиляции «Несоответствие типов»:

public List<String> getStringList(boolean b) {
    return (b) ? getGenericList(0) : getGenericList(1);
}

Почему?

12
задан Gennady Shumakher 30 June 2011 в 13:01
поделиться