写了几个类,如下:package Collection;
import java.util.*;
public class Teacher implements Comparable {

private int age;
private String name;

public  Teacher(){

}
public Teacher(int aAge,String nName){
this.age = aAge;
this.name = nName;
}
public String toString(){
return "name= "+name+ " "+"age= " +age;
}
public int getAge(){
return age;
}
public void setAge(int aAge){
this. age = aAge;
}
public String getName(){
return name;
}
public void setName(String nName){
this.name = nName;
}
public int compareTo(Object o){
Teacher tec =(Teacher) o;
return age - tec.getAge();
}
}
package Collection;
import java.util.*;public class ArraySort {

public static void main(String[] args) {
Teacher[] t ={new Teacher(25,"kevo"),new Teacher(26,"kevoo")
,new Teacher(18,"zdz")};
Arrays.sort(t);
System.out.println(t.toString()); }
}打印结果为什么会是:[LCollection.Teacher;@765291而不给按我在Teacher中定义的toString来显示呢??高手哟,来来嘛! -_- !

解决方案 »

  1.   

    晕了,怎么没人搭理我ps:加分ps:问题的最后一行:来来嘛---》来看看嘛!
      

  2.   

    这样改下程序就好用了,你的"t"调用的不是你自定义的,这样改过了就是了
    package bean;import java.util.*;public class ArraySort {

    public static void main(String[] args) {
    Teacher[] t ={new Teacher(25,"kevo"),new Teacher(26,"kevoo")
    ,new Teacher(18,"zdz")};
    Arrays.sort(t);
    for(int i = 0;i<t.length;i++){
    System.out.println(t[i].toString());
    }
    }
    }
      

  3.   

    在java api中的java.lang.Object中是这样一来写的    
    public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    你作的程序所调用的就是这个,所以输出不了你所要输出的.
      

  4.   

    你调用的是Teacher[] t 的toString()方法,而不是你的Teacher的toString()方法,肯定得不到你想要的结果
      

  5.   

    你调用的那个t不是Teacher的引用,而是它的数组的引用
    所以才会打印出定义在Object里面的toString方法