我在从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]
我该如何解决?
答案 0 :(得分:2)
如何打印二维阵列?
使用这个System.out.println(Arrays.deepToString(array));
答案 1 :(得分:2)
每当您看到来自println()语句的[I@5b273190
之类的内容时,通常意味着您正在打印对象的引用,而不是对象的内容。
在这种情况下,您可以遍历每个嵌套数组分别打印值(如果要执行自定义格式设置),或者可以使用@vagueness建议的方法:
的System.out.println(Arrays.deepToString(阵列));