作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 使用Comparable排序
时间Sun May 20 02:31:50 2007
※ 引述《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