有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ArrayList的java转换问题

我不知道如何正确编写此代码,这样它就不会生成编译器错误:

class AnElement implements IElement { ... }

protected ArrayList<AnElement> someElements() {
    ...
}

protected ArrayList<IElement> elements() {
    return (ArrayList<IElement>) someElements(); // this doesn't work...
    // return someElements();                    // ... neither does this
}

正确的方法是什么


共 (1) 个答案

  1. # 1 楼答案

    泛型是不变的,所以你可以

    protected List<? extends IElement> elements() {
        return someElements(); 
    }