java - 为什么我不能创建泛型类的泛型 arraylist 成员?
问题描述
我想添加方法来返回列表或特定元素,并且我希望它可以与任何泛型类一起使用。为什么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
如您所见,实际上有两个错误,第一个意味着您需要 import java.util.ArrayList
。一旦你这样做了,你的代码编译得很好。所以把你的代码的第一行
import java.util.ArrayList;
TL;DR:您的问题的解决方案是阅读所有错误消息。不只是最后一个。
推荐阅读
- c# - 实体框架 - 识别 MySQL 的 JSON 字段的问题
- c# - 使用 C# 加密带有附件的电子邮件
- javascript - 停止在 chrome 中显示默认进度条
- python - 跳棋1V1,不能移动
- javascript - 正则表达式匹配字符串中的单词或单词之间的点(可选)
- html - CSS Last Child 不适用于嵌套 Div?
- java - WSO2 正在使用 JDBC 用户存储集成 WSO2 APIM,sql 脚本有错误
- html - 使用 flexbox 创建 8x8 棋盘
- python - 将巨大的 seaborn 图表导出为多页的 pdf
- jwt - 每个用户、每个项目和每个方法的 Keycloak 权限/声明