日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中Comparable实现对象的比较

發布時間:2025/3/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中Comparable实现对象的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* class A implements Comaprable<A>{ } 那么 A x = new A(); 類關系圖 Object o = A; Object Comparable c = A; | Comparable A 實現了 Comparable 接口嘛 |-----|-----A 所以有 o instanceof A == true;o instanceof Comparable == true;例如ArrayList添加對象實例時,對象實例添加之后先向上轉型為Object!內部用Object[]數組接收!Arrays.sort()對Object排序的函數內部就是將 Object 向下轉型為Comparable類型。因為每個對象實現了Comparable接口,利用多態性,(Comparable)o1).compareTo(o2)將調用子類的compareTo()方法!((Comparable<Object>)o1).compareTo((Student)o2);((Comparable<XXX>)o1).compareTo((YYY)o2);如果想寫泛型那么 XXX 要么是同一類型,要么XXX是YYY的父類!因為我們強轉的Comparable是比較XXX類型數據的,而YYY類型滿足上面的條件才能成功向上轉型為XXX類型! */class Person implements Comparable<Person>{String name;int age;Person(){name = "";age = 0;}Person(String name, int age){this.name = name;this.age = age;}public String toString(){return name + "...." + age;}public boolean equals(Object o){Person x = (Person)o;return name.equals(x.name) && age==x.age;}public int compareTo(Person o){if(name.compareTo(o.name)==0)return o.age - age;return o.name.compareTo(name);} }class Student implements Comparable<Student>{String name;int age;public Student(){name = "";age = 0;}public Student(String name, int age){this.name = name;this.age = age;}public int compareTo(Student o){if(name.compareTo(o.name)==0)return o.age - age;return o.name.compareTo(name);} }public class Test{public static void main(String[] args){Person p = new Person("fsf", 45);Student s = new Student("faga", 20);Student ss = new Student("fsfdfsf", 456);Comparable xx = (Comparable)s;System.out.println(xx);cmp(s,ss);}public static int cmp(Object o1, Object o2){//return ((Comparable<Object>)o1).compareTo((Student)o2);return ((Comparable)o1).compareTo((Student)o2);} }

  

轉載于:https://www.cnblogs.com/hujunzheng/p/3871930.html

總結

以上是生活随笔為你收集整理的java中Comparable实现对象的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。