关于asList,求大侠看看
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(", ");
}
}