Re: [問題] 使用Comparable排序
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):