如何讓Object 變得有序
如何讓Object 變得有序 |
如何讓Object 變得有序: 1,方法一:繼承Comparable,實(shí)現(xiàn)CompareTo方法, CompareTo 只有一個(gè)參數(shù), 但它有四個(gè)限制條件,具體我也沒(méi)有研究,可查看相關(guān)信息。如果該類(lèi)實(shí)現(xiàn)這個(gè)方法 它就具有比較規(guī)則定義,那么以后放在Collection中就能實(shí)現(xiàn)直接排序,或者與另一個(gè)同 類(lèi)的對(duì)象進(jìn)行比較。如果該類(lèi)沒(méi)有實(shí)現(xiàn)該方法,那它就會(huì)沒(méi)有比較規(guī)則定義,那么就會(huì)throw ClassCastExceptioin 2,方法二:如果類(lèi)沒(méi)有實(shí)現(xiàn)或者說(shuō)定義比較規(guī)則,那么可以用比較器來(lái)定義Collection中的比較 策略,繼承Comparator類(lèi)并實(shí)現(xiàn)它中的Compare方法,Compare方法有兩個(gè)參數(shù),Compare方法同樣有四個(gè)限制條件 其實(shí)比較器還是不很好用,因?yàn)樵诓煌姆椒ㄖ校容^器在方法中的用途或者說(shuō)判斷條件的地方有所不同,如果要想 很深入了解每個(gè)將Comparator作為參數(shù)的方法,那需要研究各個(gè)jdk中相干的源碼。比如Arrays.sort 方法中就用到Comparator。 雖然Comparator 的具體實(shí)現(xiàn)不是很好理解,但它的理念還是和Comparable很清楚的。 方法一表示,上帝制造萬(wàn)物的時(shí)候,一開(kāi)始就給每個(gè)物種添加了條件屬性,使他們可以按有序排列 方法一表示,上帝制造萬(wàn)物的時(shí)候,但一時(shí)粗心忘了給每個(gè)物種添加了條件屬性,他們就很混亂,女?huà)z知道后就 造了一把尺子,在需要有序的地方讓他們相互對(duì)著尺子比較。 |
posted on 2006-11-29 13:19 linugb118 閱讀(977) 評(píng)論(0) 編輯 收藏