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]

解决方案 »

  1.   

    Integer[] a2 = new Integer[]{1,2,3};
    System.out.println(Arrays.asList(a2));这样既可Integer才是一个类,int不是
      

  2.   

    Arrays是一个工具类,可以用来搜索,判断两个数组关系,排序,复制等很多功能。会输出这个结果,你主要要看一个类的toString()方法是怎么实现的。其实你自己也可以实现。
    下边是Arrays的一个实现:    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(", ");
            }
        }