标题:[求助]对文件内容排序的问题
取消只看楼主
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 
以下是引用limaoyuan在2007-2-11 14:20:15的发言:
首先为什么ArraysSort 类要实现Comparable接口,
那是因为要用到Arrays.sort(Object[] obj)方法,
因为sort(Object[] obj)方法API里明确写出数组中的所有元素都必须实现 Comparable 接口!

--------------------------------上面这段话说的对吗?如果不对下面的话就没有必要再看了----------------------------------

下面来具体看purana是怎么来实现Comparable中的compareTo方法的

public int compareTo(Object obj)
{
ArraysSort arrSort=(ArraysSort)obj;
if(intKey>arrSort.intKey) return 1;
if(intKey<arrSort.intKey) return -1;
return 0;
}

很明确,如果intKey > arrSort.intKey则返回1,但是关键在于,这个compareTo是被Arrays.sort(Object[] obj)方法所调用的吧?

而此时就是sort方法中的obj一定是arrSort这个对象了,那么arrSort.intKey代表要对比的intKey,那么与之相比较的intKey是哪来的呢?


--------注:在上面话中由于多次提到intKey属性,固而用颜色将其区分开,相同颜色代表同一intKey

少打了个括号,是对象数组也解决不了我现在提出的疑问呀


我在说's blog   http://www..cn
2007-02-11 15:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-120563-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.580899 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved