int[] a = new int[]{1,2,3};
System.out.println(Arrays.asList(a));//输出为[[I@1900ce]
[[I@1900ce]的[[ 和]是什么意思 左边怎么多一个的

解决方案 »

  1.   

    [I@ca0b6是数组a的地址。而外面[]是为了打印list而生成的!
      

  2.   

      指定数组的列表视图。
      [I@1900ce表示你a这个对象的a.toString(),而[]这责是数组,如果你aslist传多个参数时对应的就成了[[I@1900ce,[I@14318bb]。你试一下就全明白而来
      

  3.   

    [[I@1900ce]
    这样 明白了没? 
      

  4.   

    这是 Java 虚拟机规范中的类型描述:[[I@1900ce]的[[ 和]是什么意思 左边怎么多一个的最外层的“[”和“]”是 List 的 toString 方法加上的。其中的“[I@1900ce”表示对象是一个 int 的一维数组类型,@ 是分隔符,1900ce 是这个数组的 hashCode。前面有一个“[”表示一维数组,前面有两个“[”,即“[[”表示二维数组,I 表示 int 类型。其他的还有:B -- byte
    C -- char
    D -- double
    F -- float
    J -- long
    S -- shoft
    Z -- boolean
    L<classname>; -- 引用类型参考:
    JVM Specification, 4.3.2 Field Descriptors
    http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#14152比如,com.test.Student 的二维数组 toString 就是这样的:Lcom.test.Student;@xxxxxx如果是 int[][] abc = new int[4][3]; 就是这样的:[[I@xxxxxx
      

  5.   


    不好意思说错了,应该是这样的:[[Lcom.test.Student;@xxxxxx