重修大學JAVA課--應用類型比較器的實現方法:完善版

package mine.dataValueFirst;


import java.util.Comparator;


public class ComparableTest {
public static void main(String[] args) {
    Student st1=new Student("李四",20,128);
    Student st=new Student("張三",21,120);
   //================================
    if(new Comparator<Student>(){//解耦合,外部類,實現Comparator override compare()方法
@Override //匿名內部類
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
return o1.weight-o2.weight;
}}.compare(st1, st)>0){
    System.out.println(st1.name+"說:"+st.name +", 我體重超標");
    }else{System.out.println(st1.name+"說:"+st.name +",我太瘦了");}
    //================================
    
    /*Comparator<Student> com=new ComparableTest().new MyComp();    
    if(com.compare(st1, st)>0){
    System.out.println(st1.name+"說:"+st.name +", 我體重超標");
    }else{System.out.println(st1.name+"說:"+st.name +",我太瘦了");}*/
    
    //=====實體類實現Comparable接口,override cmopareTo===========
   
    /*if(st.compareTo(st1)>1){
    System.out.println(st1.name+"說:"+st.name +", 我體重超標");
   
    }else{System.out.println(st1.name+"說:"+st.name +",我太瘦了");}*/
    //================================
}
//===================內部類====================
class MyComp implements Comparator<Student> {


@Override
public int compare(Student o1, Student o2) {
return o1.weight-o2.weight;
}

}
//=================================================


}//public class ComparableTest  code end


//==============外部工具類====================
class MyComp implements Comparator<Student> {


@Override
public int compare(Student o1, Student o2) {
return o1.weight-o2.weight;
}

}
//=================================================


class Student /*implements Comparable<Student> */{
//實體類實現Comparable接口,override cmopareTo。無法保證,java bean的完整性
String name;
int age;
int weight;
public Student() {
}
public Student(String name, int age, int weight) {
super();
this.name = name;
this.age = age;
this.weight = weight;
}
/*@Override
public int compareTo(Student o) {
return this.weight-o.weight;
}*/
}
發佈了30 篇原創文章 · 獲贊 1 · 訪問量 6191
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章