我正在准备考试,教授给我们的一个代码对我来说是模糊的:
public class Z {
static java.util.LinkedList<? extends Object> a =
new java.util.LinkedList<String>();
public static void main(String[] args) {
a.add(null); // 1
a.add(new Object()); // 2
a.add("new Object()"); // 3
System.out.println(a); // 4
}
}
Run Code Online (Sandbox Code Playgroud)
NetBeans在这里给我带来了非常奇怪的编译错误:
no suitable method found for add(java.lang.Object)
method java.util.LinkedList.add(capture#1 of ? extends java.lang.Object) is not applicable
(actual argument java.lang.Object cannot be converted to capture#1 of ? extends java.lang.Object by method invocation conversion)
no suitable method found for add(java.lang.String)
method java.util.LinkedList.add(capture#2 of ? extends java.lang.Object) is …Run Code Online (Sandbox Code Playgroud)