int[] a1 = new int[]{1,2,3};
String[] str2 = new String[]{"a","b","c"};
System.out.println(Arrays.asList(a1));
System.out.println(Arrays.asList(str2));
为什么会打印出如下结果呢?
[[I@64dc420b]
[a, b, c]
------解决方案--------------------
Integer[] a2 = new Integer[]{1,2,3};
System.out.println(Arrays.asList(a2));
这样既可
Integer才是一个类,int不是
------解决方案--------------------
Arrays是一个工具类,可以用来搜索,判断两个数组关系,排序,复制等很多功能。会输出这个结果,你主要要看一个类的toString()方法是怎么实现的。其实你自己也可以实现。
下边是Arrays的一个实现:
- Java code
public static String toString(long[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) return "[]"; StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } }