Учитывая общий метод:
<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);
}
Почему?