Re: [問題] 使用Comparable排序

看板java作者 (痞子軍團團長)時間18年前 (2007/05/20 02:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《tkcn (小安)》之銘言: : ※ 引述《tsya (tsya)》之銘言: : : public int compareTo(Object o1){ : : } : : 請問紅色地方 : : 為何需要刻意宣告是Object : : 然後cast成PsObj 呢? : : 我的意思是這樣 : 因為這只是個 Interface, : 在設計 Interface 的時候不知道使用者真正要用的哪種物件, : 不過自從 1.5 之後增加了 generic, : 現在的寫法應該不是這樣了。 [攤手] 那已經是五六年前寫的文章了... [逃] (俺那時候還在用 JDK 1.2 咧 XDXD) 相關的概念自己看 API 修正啦... [狂逃] : : 這樣是不是會有什麼問題? : : 還有延續之前的疑問 : : 排序String就用Comparator : : 排序Primitive Data Type 就用Comparable或Comparator : : 這樣結論對嗎? : : 謝謝你們幫忙 : 完全不對 ~_~ : 兩者都是用來比較 "物件" 的 : 只是在 1.5 以後多了 auto-boxing, : 所以 Primitive Data Type 會自動 boxing 成 Wrap Object 我有點不懂這兩位的討論內容 XD 不過,單純論 Arrays.sort(int[]) 的話 看 1.5 裡頭的 src,是沒有作 boxing 的動作 public static void sort(int[] a) { sort1(a, 0, a.length); } private static void sort1(int x[], int off, int len) { // Insertion sort on smallest arrays if (len < 7) { for (int i=off; i<len+off; i++) for (int j=i; j>off && x[j-1]>x[j]; j--) swap(x, j, j-1); return; } //下略... 不過熊熊一看有點看不懂 Orz } -- 侃侃長論鮮窒礙 首頁:http://www.psmonkey.idv.tw 眾目睽睽無心顫 Blog:http://ps-think.blogspot.com 煢居少聊常人事 殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.192.4
文章代碼(AID): #16JqAOEc (java)
文章代碼(AID): #16JqAOEc (java)