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@"
{
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@"
个字符串,它包含了该对象所属类的名字,'@'符号,以及表示对象散列码的一
个无符号十六进制整数”[Java-API]。
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"
返回:
此对象所表示的类或接口名。
for(int i:num){
System.out.print(i+" ");
}
//第二种
System.out.println(Arrays.toString(num));
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode())
import java.util.*;
System.out.println(Arrays.toString(Array1));搞定
de6ced是该对象的hashCode值.