int[] a = {1,2};
System.out.print(a);
这个输出的是什么???解释详细一点,
别只告诉我地址就行。

解决方案 »

  1.   

    System.out.print(a);因为这里的a是一个数组,所以会调用
        public void print(Object obj) {
    write(String.valueOf(obj));
        }而 String.valueOf(obj) 是这样定义的
        public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
        }obj.toString()是这样的
        public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }所以打印出来的是 getClass().getName() ---- [I
    @
    + hashCode() ---- de6ced
    [I@de6ced
      

  2.   

    真的是地址.....会调用对象的toString