在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. C#6.0语言规范(十一) 结构

    结构与类类似,因为它们表示可以包含数据成员和函数成员的数据结构.但是,与类不同,结构是值类型,不需要堆分配.结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用,后者称为对象. 结构对于具 ...

  2. UI的设计,适配器,以及RecyclerView无法加载的解决办法

    这本书里讲到的界面设计都是用最基本的方式实现的,即编写xml文件 所有的控件都具有宽度和高度属性,即android:layout_width和android:layout_height,这两个属性对应 ...

  3. vue教程1-07 模板和过滤器

    vue教程1-07 模板和过滤器 一.模板 {{msg}} 数据更新模板变化 {{*msg}} 数据只绑定一次 {{{msg}}} HTML转意输出 <!DOCTYPE html> < ...

  4. 10 Tips for Optimizing Your Website’s Speed

    转自:http://sixrevisions.com/web-development/site-speed-performance/ Web page speed and performance is ...

  5. netcore高性能Web服务器Kestrel分析

    Kestrel是aspnetcore中的web服务器之一,其本身有跨平台,轻量级,高性能的特点 在 ryzen 1600 12核cpu 测试环境中,瞬间每秒处理请求数能达到2w5以上,与netty不相 ...

  6. Git for Windows之分支管理、分支合并、解决分支冲突

    分支是在稳定版本出现bug的情况下,通过分支技术,在保证稳定版本稳定的情况,修改稳定版本的(差异下载的,速度极快,不同于SVN等技术,会将所有的代码下载到本地)副本,通过合并,解决冲突,最后回归到稳定 ...

  7. php -- 配置与安装

    1.php与apache安装路径 2.安装Apache服务 httpd -k install 开启关闭重启服务 http -k start/stop/restart 3.php.ini-develop ...

  8. Chapter 3 Phenomenon——23

    Charlie put one arm behind my back, not quite touching me, and led me to the glass doors of the exit ...

  9. 目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN

    看到一篇循序渐进讲R-CNN.Fast R-CNN.Faster R-CNN演进的博文,写得非常好,摘入于此,方便查找和阅读. object detection,就是在给定的图片中精确找到物体所在位置 ...

  10. mysql使用pdo简单封装select语句

    最终代码: function pdo_array_query($pdo, $table_name, $data, $fields=array('*')){ //Will contain SQL sni ...