Java 泛型数组 深度研究
发布时间:2021-11-21 21:13:36 所属栏目:教程 来源:互联网
导读:泛型数组 只能作为参数类型 或者 函数参数 在Java中,Object[]数组可以是任何数组的父类,或者说,任何一个数组都可以向上转型成父类的数组,这个时候如果我们往里面放不同于原始数据类型 但是满足后来使用的父类类型的话,编译不会有问题,但是在运行时会检
泛型数组 只能作为参数类型 或者 函数参数 在Java中,Object[]数组可以是任何数组的父类,或者说,任何一个数组都可以向上转型成父类的数组,这个时候如果我们往里面放不同于原始数据类型 但是满足后来使用的父类类型的话,编译不会有问题,但是在运行时会检查加入数组的对象的类型,于是会抛ArrayStoreException: String[] strArray = new String[20]; Object[] objArray = strArray; objArray[0] = new Integer(1); // throws ArrayStoreException at runtime 一、参数类型 1. 泛型list的数组,形如:ArrayList<T>[] ArrayList<T>[] list = new ArrayList<T>[n]; for(int i = 0; i < n; i++){ list[i] = new ArrayList<T>; } 2.泛型数组的集合,形如:ArrayList<T[n]> import java.lang.reflect.Array; ... ArrayList<T[n]> lst = new ArrayList<T[n]>; lst.add((T[])Array.newInstance(type,size)); Type类型为Class<T>,需要调用者指定,size为要开辟的数组长度; 另外,具体创建数组中的参数,也需要用type来指定。 T[] t = lst.get(0); for (int i = 0; i < size; i++) t[] = type.newInstance(); ![]() (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |