泛型数组的创建
- 可以声明带泛型的数组引用,但是不能直接创建带泛型的数组对象
- 可以通过java.lang.reflect.Array的newInstance(Class,int)创建T[]数组
1
- 泛型数组不能作为对象
- 数组下的列表的数据类型必须与数组一样

public class Demo01 {
public static void main(String[] args) {
ArrayList<String>[] arrList = new ArrayList[5];
ArrayList<String> list = new ArrayList<>();
ArrayList<String> intl = new ArrayList<>();
list.add("a");
list.add("b");
intl.add("1");
intl.add("2");
arrList[0] = list;
arrList[1] = intl;
String l = arrList[0].get(0);
for (ArrayList<String> strings : arrList) {
System.out.println(strings);
}
System.out.println(l);
System.out.println("-----------------------------------------------------------");
Demo02<String> A = new Demo02<>(String.class, 3);
A.put(0, "a");
A.put(1, "b");
A.put(2, "c");
System.out.println(A.get(2));
System.out.println(Arrays.toString(A.getArray()));
}
}
2
- 可以通过java.lang.reflect.Array的newInstance(Class,int)创建T[]数组
public class Demo02<T> {
private T[] Arr;
public Demo02(Class<T> clz, int length){
Arr = (T[]) Array.newInstance(clz,length);
}
public void put (int index,T item){
Arr[index]=item;
}
public T get(int index){
return Arr[index];
}
public T[] getArray(){
return Arr;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现