从arraylist转换为2d数组(返回引用)

时间:2015-01-09 04:48:42

标签: java

我在从arraylist转换为2d数组时遇到问题。

在此代码中,返回值是引用而不是值

public int[][] convertTO2D(java.util.List<ArrayList<Integer>> arrayList){

    int listSize = arrayList.size();
    int[][] darr = new int[listSize][];
    for(int i = 0; i < listSize; i++) {
        ArrayList<Integer> sublist = arrayList.get(i);
        int sublistSize = sublist.size();
        darr[i] = new int[sublistSize];
        for(int j = 0; j < sublistSize; j++) {
            darr[i][j] = sublist.get(j);
        }
       // System.out.println("");
    }

    return darr;
}  

,这是return

的输出
[[I@5b273190, [I@740ac748, [I@314e4266, [I@1ea46732, [I@7ced7ec7, [I@5effd695]

我该如何解决?

2 个答案:

答案 0 :(得分:2)

如何打印二维阵列? 使用这个System.out.println(Arrays.deepToString(array));

答案 1 :(得分:2)

每当您看到来自println()语句的[I@5b273190之类的内容时,通常意味着您正在打印对象的引用,而不是对象的内容。

在这种情况下,您可以遍历每个嵌套数组分别打印值(如果要执行自定义格式设置),或者可以使用@vagueness建议的方法:

  

的System.out.println(Arrays.deepToString(阵列));