设为首页 加入收藏

TOP

Java 泛型数组 深度解析
2014-11-24 08:27:26 来源: 作者: 【 】 浏览:3
Tags:Java 深度 解析

泛型数组 只能作为参数类型 或者 函数参数


在Java中,Object[]数组可以是任何数组的父类,或者说,任何一个数组都可以向上转型成父类的数组,这个时候如果我们往里面放不同于原始数据类型 但是满足后来使用的父类类型的话,编译不会有问题,但是在运行时会检查加入数组的对象的类型,于是会抛ArrayStoreException:


String[] strArray = new String[20];


Object[] objArray = strArray;


objArray[0] = new Integer(1); // throws ArrayStoreException at runtime


一、参数类型


1. 泛型list的数组,形如:ArrayList[]
ArrayList[] list = new ArrayList[n];
for(int i = 0; i < n; i++){
list[i] = new ArrayList;
}



2.泛型数组的集合,形如:ArrayList
import java.lang.reflect.Array;
...
ArrayList lst = new ArrayList;
lst.add((T[])Array.newInstance(type,size));
Type类型为Class,需要调用者指定,size为要开辟的数组长度;
另外,具体创建数组中的参数,也需要用type来指定。
T[] t = lst.get(0);
for (int i = 0; i < size; i++)
t[] = type.newInstance();


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 安卓怎么将你开发的项目.. 下一篇在Linux下用tftp刷写路由器固件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)