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;
}*/
}