作者PsMonkey (痞子軍團團長)
站內java
標題Re: [問題] class變數存取問題
時間Wed Mar 15 22:28:40 2006
※ 引述《TonyQ (骨頭)》之銘言:
: ※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: 我怎麼開始有一種雞同鴨講的感覺 -.-
: 我的意思,
: 以TreeSet的例子來講
: Comparator給誰用的 給TreeSet去用的啊 (容器)
: Comparable是誰去implement ? 是Object去implement (被容納的東西)
: 你有看過TreeSet implement comparable
: 或Object 建Comparator的嗎 XD
: 至少就API裡面好像沒有XD
: 可是TreeSet跟TreeMap倒是都有Comparator的建構子,
: 而常用的Object也幾乎都implements Comparable XD
請注意一下,Comparator 沒有要 "給誰用"
他只是提供一個方便抽換的方法
TreeSet 也好,Arrays.sort 也好
不提供 Comparator 可不可以? 當然可以...
運作起來依然正常...
只要裡頭的物件都有 implement Comparable 就好
沒有也沒關係,大不了丟出 ClassCastException
(就算你給他 Comparator,一樣還是可能出現 ClassCastException 阿)
: : default? 就是物件本身的 Comparable 的 compareTo 阿...
: : 不然怎麼會出現 ClassCastException?
: 那時候翻各物件的compareto 幾乎都只支援同型的比較XD
: (比方說Integer的就只能跟 Integer的比較)
: 所以後來乾脆都用String去做比較 管它的~XD
: 現在想想 可能該先轉型成 Comprable再寫compareTo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
這句話又是什麼意思 T__T
: 沒實做不知道 XD
[舉手] 不同型之間為什麼要讓他們比較? ==.==
如果你要討論可不可行... 那... 一定可行的
你的 toString() 硬幹法就是經典
問題是... 為什麼要這麼作? T___T
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.204.16.17
※ 編輯: PsMonkey 來自: 203.204.16.17 (03/15 22:28)