public class ArrayOne
{
public static void main(String args[])
{
int[] Array1 = { 1,2,3,};
int[] Array2 = { 10 ,11};
System.out.println("数组Array1的引用是:" + Array1);
System.out.println("数组Array2的引用是:" + Array2);
System.out.printf("Array2[0]=%-3dArray2[1]=%-3d\n",Array2[0],Array2[1]); Array2 = Array1;
System.out.println("数组Array1的引用是:" + Array1);
System.out.println("数组Array2的引用是:" + Array2); Array1[1] = 888;
Array2[2] = 999;
 
System.out.printf("Array1[0]=%-5dArray1[1]=%-5dArray1[2]=%-5d\n",Array1[0],Array1[1],Array1[2]);
System.out.printf("Array2[0]=%-5dArray2[1]=%-5dArray2[2]=%-5d\n",Array2[0],Array2[1],Array2[2]);

}
}
运行结果:
C:\Users\Red Dragonfly>d:D:\>cd JavaD:\Java>javac ArrayOne.javaD:\Java>java ArrayOne
数组Array1的引用是:[I@de6ced
数组Array2的引用是:[I@c17164
Array2[0]=10 Array2[1]=11
数组Array1的引用是:[I@de6ced
数组Array2的引用是:[I@de6ced
Array1[0]=1    Array1[1]=888  Array1[2]=999
Array2[0]=1    Array2[1]=888  Array2[2]=999
其中这个“数组Array1的引用是:[I@de6ced
数组Array2的引用是:[I@c17164”    撒意思呀 "[I@"

解决方案 »

  1.   

    好像是 hash code 吧
      

  2.   

    数组是从Object 那里继承的toString 方法[JLS 10.7],规范中描述到:“返回一
    个字符串,它包含了该对象所属类的名字,'@'符号,以及表示对象散列码的一
    个无符号十六进制整数”[Java-API]。
      

  3.   

    getName
    public String getName()以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。 
    如果此类对象表示的是非数组类型的引用类型,则返回该类的二进制名称,Java Language Specification, Second Edition 对此作了详细说明。 如果此类对象表示一个基本类型或 void,则返回的名字是一个与该基本类型或 void 所对应的 Java 语言关键字相同的 String。 如果此类对象表示一个数组类,则名字的内部形式为:表示该数组嵌套深度的一个或多个 '[' 字符加元素类型名。元素类型名的编码如下: Element Type       Encoding  
    boolean       Z  
    byte       B  
    char       C  
    class or interface       Lclassname;  
    double       D  
    float       F  
    int       I  
    long       J  
    short       S  

    类或接口名 classname 是上面指定类的二进制名称。 示例:  String.class.getName()
         returns "java.lang.String"
     byte.class.getName()
         returns "byte"
     (new Object[3]).getClass().getName()
         returns "[Ljava.lang.Object;"
     (new int[3][4][5][6][7][8][9]).getClass().getName()
         returns "[[[[[[[I"
     
    返回:
    此对象所表示的类或接口名。
      

  4.   

    数组直接打印,输出的是引用的地址,若要打印 可选择下面的方法://第一种
    for(int i:num){
        System.out.print(i+" ");
    }
    //第二种
    System.out.println(Arrays.toString(num));
      

  5.   

    Object的toString()方法
    返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。 
    Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode())
      

  6.   

    以为什么问题呢?太简单了,打印出的是地址,如果想一下子把数组内容打印出来,可以这么解决
    import java.util.*;
    System.out.println(Arrays.toString(Array1));
    搞定
      

  7.   

    数组Array1的引用是:[I@de6ced [I表示一个 一维的int型数组, [ 表示一维数组,I 表示int型.
    de6ced是该对象的hashCode值.