因为在你自定义的数组里面装的都是对象,而每个对象在内存中都有存放地址。比如p[0]就是指向Perso("nero",24)这个对象,p[0]存放的是这个对象的哈希值。如果想要打印自定义对象里面的内容最好在自定义的类里写出访问这些成员变量的方法,然后通过这些方法来访问这些类里的内容。
public class text1 {
public static void main(String[] args) throws Exception{
String[] str = {"abc","xyz","you","123"};//定义String数组
Person[] p = {new Person("nero",24),new Person("you",21),new Person("me",23)};//自定义类型的数组
sop(str);//打印数组
sop1(p);//打印数组
}
public static void sop(Object[] arr){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);//打印数组元素
}
}
public static void sop1(Person[] arr){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i].getname()+" "+arr[i].getage());//打印数组元素
}
}
}
/*
自定义Person类
*/
class Person{
String name;
int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getname(){
return name;
}
public int getage(){
return age;
}
}
|