我有一个简单的问题如下: 以下是关于整个问题的简单示例:
List a = new ArrayList();
List <?> b;
List <? extends Object> c;
据Khalid mughal的Java SCJP(一本非常好的书!):
a = b; // ok. Widening conversion.
b = a; // ok too. No unchecked warning.
b = c; // ok
c = b; // ok
c=a; // ok but now will issue a unchecked warning. // clause 1
我确实理解任何原始类型(示例a)在分配给任何有界wilcard引用时,未经检查的警告都是问题(因为原始类型中的内容可能是任何内容)。
我的问题是因为c是最高上限(?扩展对象),不应该在没有该警告的情况下分配给c?
答案 0 :(得分:1)