在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 泛型数组的更多相关文章

  1. Java中创建泛型数组

    Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...

  2. Q:java中的泛型数组

     对于java,其是不支持直接创建泛型数组的.当采用如下的方式去创建一个泛型数组时,其会出现错误,编译无法通过的情况. package other.jdk1_5; /** * 该类用于演示泛型数组的创 ...

  3. java中Array(数组)的用法

    8.Array(数组)    数组是作为对象来实现的.(really occupy the memopry,真实的占用内存 ) An array is a data structure that st ...

  4. (转载)Java里新建数组及ArrayList java不允许泛型数组

    java中新建数组: String[] s;//定义的时候不需要设置大小 s = new String[5];//为数组分配空间时就要设置大小   对于ArrayList, ArrayList< ...

  5. Java之Array(数组)说明

    代码说明: package array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** ...

  6. JAVA问题之泛型数组

      java中类似下面的代码编译器是会报错的: LinkedList<LinkedList<String>>[] li=new LinkedList<LinkedList ...

  7. JAVA泛型中的类型擦除及为什么不支持泛型数组

    一,数组的协变性(covariant array type)及集合的非协变性 设有Circle类和Square类继承自Shape类. 关于数组的协变性,看代码: public static doubl ...

  8. Java泛型数组

    文章来自http://blog.csdn.net/orzlzro/article/details/7017435 Java 不支持泛型数组.也就是说, List<String>[] ls ...

  9. Java 泛型数组

    Java 不支持泛型数组.也就是说, List<String>[] ls = new ArrayList<String>[10]; 是不支持的,而 List<String ...

随机推荐

  1. 【ElasticSearch】:elasticsearch.yml配置

    ElasticSearch5的elasticsearch.yml配置 注意 elasticsearch.yml中的配置,冒号和后面配置值之间有空格 cluster.name: my-applicati ...

  2. 基于iview的后台管理

    年前由于时间紧迫,原本使用iview技术开发后台管理系统的大神另有任务,我中途接手该项目,此前对于iview一无所知的我是一脸的懵逼,好在后台管理的整体框架大神已经搭建好了,而我之前对vue也有一定的 ...

  3. 解决SecureCRT/Xshell无法以root用户连接Ubuntu

    首先执行命令ps -e | grep ssh .查看是否有ssh进程运行. 确认没有ssh运行,且系统未安装openssh.   然后在系统终端界面内输入apt-get update命令. (确保系统 ...

  4. java信任所有证书

    package com.eeepay.cashOut.util; import java.io.BufferedReader; import java.io.DataOutputStream; imp ...

  5. JavaScript与CSS相对路径引用的差异

    转自:http://blog.csdn.net/luohuidong01/article/details/74938652 JS跟CSS相对路径引用的差异在于他们的参考点不一样,下面举个例子说明一下. ...

  6. 多线程编程——java

    1.进程和线程 进程:一个计算机程序的运行实例,包含了需要执行的指令:有自己的独立地址空间,包含程序内容和数据:不同进程的地址空间是互相隔离的:进程拥有各种资源和状态信息,包括打开的文件.子进程和信号 ...

  7. 只用一招,让你Maven依赖下载速度快如闪电

    一.背景 众所周知,Maven对于依赖的管理让我们程序员感觉爽的不要不要的,但是由于这货是国外出的,所以在我们从中央仓库下载依赖的时候,速度如蜗牛一般,让人不能忍,并且这也是大多数程序员都会遇到的问题 ...

  8. PHP-引入文件(include)后,页面错位,不居中解决办法

    1.把include文件放在head里,不要放在html或doctype上面,这样可以解决居中的问题,空白行的话可以用<div style="display:none"> ...

  9. Silverlight中使用MVVM(1)--基础

    Silverlight中使用MVVM(1)--基础 Silverlight中使用MVVM(2)—提高 Silverlight中使用MVVM(3)—进阶 Silverlight中使用MVVM(4)—演练 ...

  10. 【Java初探02】——Java语言基础

    本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...