java比較器的應用

package comparabledemo;
import java.util.Arrays;
public class StudentCompare implements Comparable<StudentCompare> {
    private String name;
    private int number;
    public StudentCompare() {
    }
    public StudentCompare(String name, int number) {
        super();
        this.name = name;
        this.number = number;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    /**
     * 覆寫compareTo方法
     */
    public int compareTo(StudentCompare o) {
        // TODO Auto-generated method stub
        if (this.number > o.number)
            return 1;
        else if (this.number < o.number)
            return -1;
        return 0;
    }
    /**
     * 覆寫tosring方法
     */
    @Override
    public String toString() {
        return name + "學號爲:" + number;
    }
    /**
     * 覆寫equals方法
     */
    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        if (this == obj) {
            return true;
        } else {
            if (obj instanceof StudentCompare) {
                StudentCompare s = (StudentCompare) obj;// 類型轉換
                if ((this.name == s.name) && (this.number == s.number))
                    return true;
                else
                    return false;
            }
        }
        return super.equals(obj);
    }
    public static void main(String[] args) {
        StudentCompare [] s={new StudentCompare("李成明", 55100617),new StudentCompare("王瑤", 55100619),new StudentCompare("李大鵬", 55100614),new StudentCompare("趙國良", 55100613),new StudentCompare("趙國良", 55100613),new StudentCompare("胖子", 55100607),new StudentCompare("白胖", 55100623)};
        Arrays.sort(s);
        for(int x=0;x<s.length;x++){
            System.out.println(s[x]);
        }
        if(s[1].equals(s[2])){
            System.out.println(s[1].name+"等於"+s[2].name);
        }
        if(!s[3].equals(s[2])){
            System.out.println(s[3].name+"不等於"+s[2].name);
        }
          
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章