用于连接两个不同类型数组的方法

时间:2016-04-20 18:07:58

标签: java arrays join concatenation

  1. 这是我的代码,编译时没有错误,但运行时错误。
  2. 有异常并且没有显示输出,我哪里出错?

    public static Object [] concatenate(int[]a ,double[] b) {
        int l=a.length;
        int  L = b.length;
        Object[]  ob=new Object[l+ L];
        for(int i=0;i<l;i++){
            ob[i] = a[i];
        }
    
  3. 我创建了新对象,将两个数组添加到其中。

        for(int j=0;j<L;j++){
            ob[j+l] = b[j];
        }
    
  4. 用两个来打印它们。

        System. out. print (ob);
        return ob;
    }
    

1 个答案:

答案 0 :(得分:0)

当你这样做时

System. out. print (ob);

您实际上是在打印Array对象的哈希码,而不是其内容。 这样的事情会更有意义:

System.out.println(Arrays.toString(ob));

所以我尝试了你的代码并且工作正常

public static void main(String[] args) {
    int[] intArr = new int[5];
    for (int i = 0; i < intArr.length; i++) {
        intArr[i] = 0;
    }
    double[] doubleArr = new double[5];
    for (int i = 0; i < doubleArr.length; i++) {
        doubleArr[i] = 1.11;
    }
    int l = intArr.length;
    int L = doubleArr.length;
    Object[] ob = new Object[l + L];
    for (int i = 0; i < l; i++) {
        ob[i] = intArr[i];
    }
    for (int i = 0; i < L; i++) {
        ob[l + i] = doubleArr[i];
    }
    System.out.println(Arrays.toString(ob));
}

打印

  

[0,0,0,0,0,1.11,1.11,1.11,1.11,1.11]