JAVA generic array 泛型数组
在JAVA中是不支持泛型数组的,不能通过 Z[] array=new Z[10] 这样的方式来创建数组,而是使用反射Aarry.newInstance来创建:
具体代码如下:
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 generic array 泛型数组的更多相关文章
- Java中创建泛型数组
Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...
- Q:java中的泛型数组
对于java,其是不支持直接创建泛型数组的.当采用如下的方式去创建一个泛型数组时,其会出现错误,编译无法通过的情况. package other.jdk1_5; /** * 该类用于演示泛型数组的创 ...
- java中Array(数组)的用法
8.Array(数组) 数组是作为对象来实现的.(really occupy the memopry,真实的占用内存 ) An array is a data structure that st ...
- (转载)Java里新建数组及ArrayList java不允许泛型数组
java中新建数组: String[] s;//定义的时候不需要设置大小 s = new String[5];//为数组分配空间时就要设置大小 对于ArrayList, ArrayList< ...
- Java之Array(数组)说明
代码说明: package array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** ...
- JAVA问题之泛型数组
java中类似下面的代码编译器是会报错的: LinkedList<LinkedList<String>>[] li=new LinkedList<LinkedList ...
- JAVA泛型中的类型擦除及为什么不支持泛型数组
一,数组的协变性(covariant array type)及集合的非协变性 设有Circle类和Square类继承自Shape类. 关于数组的协变性,看代码: public static doubl ...
- Java泛型数组
文章来自http://blog.csdn.net/orzlzro/article/details/7017435 Java 不支持泛型数组.也就是说, List<String>[] ls ...
- Java 泛型数组
Java 不支持泛型数组.也就是说, List<String>[] ls = new ArrayList<String>[10]; 是不支持的,而 List<String ...
随机推荐
- 为什么要先 git add 才能 git commit
1. git 的 add ,是一个容易引起疑问的命令.在 subversion 中的 svn add 动作是将某个文件加入版本控制,而 git add的意义完全不同. 同时, git diff --c ...
- SQL高效查询两个表不同的数据
逻辑相对复杂,但是速度最快: )
- centos 安装nginx笔记
添加nginx 存储库 yum install epel-release 安装 yum install nginx 启动 systemctl start nginx
- 1-1 Vue的介绍
简单介绍Vue Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易 ...
- String.format(String format,Object... args)的用法
String.format(String format, Object... args)方法详解 以前也看到过很多次这个用法,一直记不牢靠,今天整理一下. 我仅仅举几个例子稍做说明: String ...
- Android之密码的显示与隐藏
很多应用都是显示与隐藏密码的功能. 之前的项目都没这个功能要求,也没有专门研究这个.最近项目有加这个功能,我这里也刚好整理一下. 我的思路是设置EditText的InputType.代码如下: if ...
- 图片按日期分类和查看程序(WPF开发)(附源码)
手机方便了我们的生活,可以随时随地拍摄.越来越多的图片堆砌在电脑里.看到杂乱无章的图片,实在感到头痛.手动整理太复杂.基于此,我写了一个小程序,可以将图片按日期整理和查看.按日期查看图片,回忆过去的点 ...
- java Queue的用法
https://www.cnblogs.com/caozengling/p/5307992.html https://blog.csdn.net/a724888/article/details/802 ...
- Doxygen自动文档生成工具在Eclipse中的集成及使用举例
你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...
- json.stringify()的妙用,json.stringify()与json.parse()的区别
一.JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaS ...