如何讓Object 變得有序
如何讓Object 變得有序 |
如何讓Object 變得有序: 1,方法一:繼承Comparable,實現CompareTo方法, CompareTo 只有一個參數, 但它有四個限制條件,具體我也沒有研究,可查看相關信息。如果該類實現這個方法 它就具有比較規則定義,那么以后放在Collection中就能實現直接排序,或者與另一個同 類的對象進行比較。如果該類沒有實現該方法,那它就會沒有比較規則定義,那么就會throw ClassCastExceptioin 2,方法二:如果類沒有實現或者說定義比較規則,那么可以用比較器來定義Collection中的比較 策略,繼承Comparator類并實現它中的Compare方法,Compare方法有兩個參數,Compare方法同樣有四個限制條件 其實比較器還是不很好用,因為在不同的方法中,比較器在方法中的用途或者說判斷條件的地方有所不同,如果要想 很深入了解每個將Comparator作為參數的方法,那需要研究各個jdk中相干的源碼。比如Arrays.sort 方法中就用到Comparator。 雖然Comparator 的具體實現不是很好理解,但它的理念還是和Comparable很清楚的。 方法一表示,上帝制造萬物的時候,一開始就給每個物種添加了條件屬性,使他們可以按有序排列 方法一表示,上帝制造萬物的時候,但一時粗心忘了給每個物種添加了條件屬性,他們就很混亂,女媧知道后就 造了一把尺子,在需要有序的地方讓他們相互對著尺子比較。 |