相关疑难解决方法(0)

为什么通用列表声明的区别?

我想要两个列表:第一个是整数列表.我认为它是:

  List<Integer> ints= Arrays.asList(1,2,3);
Run Code Online (Sandbox Code Playgroud)

它工作正常.

第二个是对象列表.我声明为:

  List<Object> objs= Arrays.asList(1,2.13,"three");
Run Code Online (Sandbox Code Playgroud)

但是一旦我写它就会在eclipse中出错.错误是:

  Multiple markers at this line
- Type mismatch: cannot convert from List<Object&Comparable<?>&Serializable> to 
 List<Object>
- Type safety: A generic array of Object&Comparable<?>&Serializable is created for
       a varargs parameter
Run Code Online (Sandbox Code Playgroud)

相反,如果我写

  List<Object> objs = Arrays.<Object>asList(1,2.13,"three");
Run Code Online (Sandbox Code Playgroud)

它工作正常.

我无法弄清楚原因.

java generics collections jvm compiler-errors

15
推荐指数
1
解决办法
598
查看次数

Collection是Java中Object的子类型吗?

是Java中Collection<?>的子类型Object吗?这可能是一个愚蠢的问题,但不是Object每个班级的根源?

java

7
推荐指数
2
解决办法
1388
查看次数

标签 统计

java ×2

collections ×1

compiler-errors ×1

generics ×1

jvm ×1