zoukankan      html  css  js  c++  java
  • JAVA generic array 泛型数组

    在JAVA中是不支持泛型数组的,不能通过 Z[] array=new Z[10] 这样的方式来创建数组,而是使用反射Aarry.newInstance来创建:

    具体代码如下:

     1 public Z[][] convert2DimArray(Class<Z> type){
     2         TreeSet<X> XLabel=getXLabel();
     3         TreeSet<Y> YLabel=getYLabel();
     4         Z[][] array=(Z[][])(Array.newInstance(type,XLabel.size(),YLabel.size()));
     5         int xIdx=0;
     6         for (X x : XLabel) {
     7             int yIdx=0;
     8             for (Y y : YLabel) {
     9                 array[xIdx][yIdx]=get(x,y);
    10                 yIdx++;
    11             }
    12             xIdx++;
    13         }
    14         return array;
    15     }

    调用函数时使用:

    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 “二维数组” 其实就是一位数组的每个元素都是一维数组。 

  • 相关阅读:
    关于父子页面的交互
    Spring在代码中获取bean的几种方式(转:http://www.dexcoder.com/selfly/article/326)
    关于Zookeeper
    Java 生成pdf表格文档
    Spring 框架中Http请求处理流程
    关于redis
    Xstream 解析xml文件内容
    ArrayBlockingQueue 和LinkedBlockQueue
    spring IOC
    springboot启动过程
  • 原文地址:https://www.cnblogs.com/zztt/p/3771234.html
Copyright © 2011-2022 走看看