小编Mac*_*iej的帖子

泛型类型的Java容器

我正在准备考试,教授给我们的一个代码对我来说是模糊的:

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)

java generics

3
推荐指数
2
解决办法
7982
查看次数

标签 统计

generics ×1

java ×1