繁体   English   中英

为什么我不能创建通用 class 的通用 arraylist 成员?

[英]Why cannot I create generic arraylist member of generic class?

我想添加方法来返回列表或特定元素,并且我希望它可以与任何通用 class 一起使用。 为什么 Java 不允许这样做?

class ArrayListBuilder<E>{
    private ArrayList<E> a_list=new ArrayList<>();
}

我试图编译你的代码并得到这些错误

ArrayListBuilder.java:2: error: cannot find symbol
    private ArrayList<E> a_list=new ArrayList<>();
            ^
  symbol:   class ArrayList
  location: class ArrayListBuilder<E>
  where E is a type-variable:
    E extends Object declared in class ArrayListBuilder
ArrayListBuilder.java:2: error: cannot find symbol
    private ArrayList<E> a_list=new ArrayList<>();
                                    ^
  symbol:   class ArrayList
  location: class ArrayListBuilder<E>
  where E is a type-variable:
    E extends Object declared in class ArrayListBuilder
2 errors

如您所见,实际上有两个错误,第一个意味着您需要导入java.util.ArrayList 一旦你这样做了,你的代码编译得很好。 所以把你的代码的第一行

import java.util.ArrayList;

TL;DR:您的问题的解决方案是阅读所有错误消息。 不只是最后一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM