相关疑难解决方法(0)

仿制药的仿制药如何运作?

虽然我确实理解了泛型的一些角落情况,但我遗漏了以下示例的内容.

我有以下课程

1 public class Test<T> {
2   public static void main(String[] args) {
3     Test<? extends Number> t = new Test<BigDecimal>();
4     List<Test<? extends Number>> l =Collections.singletonList(t);
5   }
6 }
Run Code Online (Sandbox Code Playgroud)

第4行给出了错误

Type mismatch: cannot convert from List<Test<capture#1-of ? extends Number>> 
to List<Test<? extends Number>>`. 
Run Code Online (Sandbox Code Playgroud)

显然,编译器认为不同的不同?.虽然我的直觉告诉我,这是正确的.

任何人都可以提供一个例子,如果第4行合法,我会得到运行时错误吗?

编辑:

为了避免混淆,我用第=null3行替换了具体的赋值

java generics wildcard capture

22
推荐指数
2
解决办法
2092
查看次数

标签 统计

capture ×1

generics ×1

java ×1

wildcard ×1