java - Collections.emptyList() 之谜

标签 java generics collections

int j = 0; 
List<Integer> i = j > 0 ? Collections.emptyList() : new ArrayList<Integer>(); // compiler error:cannot convert from List<capture#1-of ? extends Object> to List<Integer>

同时,

List<Integer> li = Collections.emptyList(); // it works

虽然我知道类型删除,但我不知道编译失败的原因!

帮助,谢谢!

最佳答案

试试这个:

List<Integer> i = j > 0 ? Collections.<Integer>emptyList() : new ArrayList<Integer>(); 

关于java - Collections.emptyList() 之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10754518/

相关文章:

java - 如何比较 Java 中的两个日期,然后将结果与另一个日期进行比较?

java - 为什么@FunctionalInterface 有运行时保留?

c# - 泛型的观察者模式

java - 如何使用有界类型参数扩展泛型类

java - 如何在表格行中添加按钮

java - 如何使用父实体的组合键进行 JPA @OneToMany 单向映射?

c# - 初始化列表<>

c# - NULL 合并字典查找

java - 如何实现返回 "enumeration"对象的函数?

java - 如何检查某个元素的功能是否包含在集合中?