JAVA generic array 泛型数组
2014-06-05 22:01
381 查看
在JAVA中是不支持泛型数组的,不能通过 Z[] array=new Z[10] 这样的方式来创建数组,而是使用反射Aarry.newInstance来创建:
具体代码如下:
调用函数时使用:
或者使用:
调用时:
以上代码还可以看出Java “二维数组” 其实就是一位数组的每个元素都是一维数组。
具体代码如下:
public Z[][] convert2DimArray(Class<Z> type){ TreeSet<X> XLabel=getXLabel(); TreeSet<Y> YLabel=getYLabel(); Z[][] array=(Z[][])(Array.newInstance(type,XLabel.size(),YLabel.size())); int xIdx=0; for (X x : XLabel) { int yIdx=0; for (Y y : YLabel) { array[xIdx][yIdx]=get(x,y); yIdx++; } xIdx++; } return array; }
调用函数时使用:
Double[][] twoDimArray=theArray.convert2DimArray((Double.class));
或者使用:
public Z[][] convert2DimArray(Class<Z[][]> type){ TreeSet<X> XLabel=getXLabel(); TreeSet<Y> YLabel=getYLabel(); Z[][] array=type.cast(Array.newInstance(type.getComponentType().getComponentType(),XLabel.size(),YLabel.size())); int xIdx=0; for (X x : XLabel) { int yIdx=0; for (Y y : YLabel) { array[xIdx][yIdx]=get(x,y); yIdx++; } xIdx++; } return array; }
调用时:
Double[][] twoDimArray=theArray.convert2DimArray((Double[][].class));
以上代码还可以看出Java “二维数组” 其实就是一位数组的每个元素都是一维数组。
相关文章推荐
- 黑马程序员--Java基础加强--13.利用反射操作泛型II【TypeVariable】【GenericArrayType】【WildcardType】【Type及其子接口的来历】【个人总结】
- Java ArrayList转数组泛型方法错误ArrayStoreException处理办法
- Java 错误 创建泛型数组 解决方法
- 浅谈Java集合中Array(数组)的应用
- [转]Java的数组(Array)、Vector、ArrayList、HashMap的异同
- Java 泛型数组
- Java基础:数组Array转成List的几种方法
- Java的数组(Array)、Vector、ArrayList、HashMap的异同
- Java基础:数组Array转成List的几种方法
- java基础加强--泛型(Generic)的应用
- Java的数组(Array)、Vector、ArrayList、HashMap的异同
- Java基础:数组Array转成List的几种方法
- Java的数组Array、Vector、ArrayList、HashMap的异同
- Java的数组(Array)、Vector、ArrayList、HashMap的异同
- 集合基于数组的实现:ArrayBag.java
- 如何把java中的arrayList转化为oracle中的数组(array) --转
- Java,泛型,Generic java,JDK1.5beta,简约主义的朋友还是敌人
- 泛型List和数组Array的FindAll方法
- JAVA1.5新特性----泛型Generic
- Java 基础一些代码练习笔记(Array数组)