Не могли бы вы объяснить, почему с первым типом возврата код не может быть скомпилирован?
Сообщение: Type mismatch: cannot convert from List<capture#1-of ? extends Object> to List<String>
.
Вставляется ли явное приведение во втором случае?
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);
}
}
}