public class employy implements Comparable <employy>{
public int compareTo(employy other)
{
if(salary <other.salary)
return -1;
if(salary>other.salary)
return 1;
return 0;
}
}
接口问题,请问Comparable这个接口是JDK自带的吗?是不是不用义可以直接实现,还有用Arrays.sort方法不是必须实现Comparable接口吗?然后重写里面的compareTo方法吗?那为什么不写implements Comparable <employy>程序也可以执行呢希望知道的告诉下,3Q.我是初学的,很多不是很清楚.
public int compareTo(employy other)
{
if(salary <other.salary)
return -1;
if(salary>other.salary)
return 1;
return 0;
}
}
接口问题,请问Comparable这个接口是JDK自带的吗?是不是不用义可以直接实现,还有用Arrays.sort方法不是必须实现Comparable接口吗?然后重写里面的compareTo方法吗?那为什么不写implements Comparable <employy>程序也可以执行呢希望知道的告诉下,3Q.我是初学的,很多不是很清楚.
解决方案 »
- 求教高手, 为何会出现空指针
- 连接sql server问题(急)
- 请问大家用什么方法能够将信息转为XML与其他语言进行通讯(不用SOAP)
- 怎么实现全屏显示??
- 今天看thinking in java看到一个接口的问题,很是疑惑,发出来讨论一下
- java有方法在IP层上编程吗?
- 如何用JAVA实现TCP/IP协议的ARP协议?
- 各位老大帮个忙,告诉我如何用VJ使用ATL COM编写的组件
- 那位有Forte for Java 4, Enterprise Edition 的注册码,谢谢!
- 请教一个Swing技术的“刷新用户JTable界面”的技术.
- 怎样把注释信息打入jar包(不打入源文件)?
- 如何在 command prompt 显示中文?
2。可以直接实现
3。Arrays.sort(employy[] employy );//你假如排序你这个类的话必须实现Comparable,是的是实现compareTo方法,而不是重写
除非,你实现Comparator接口!这时候Arrays.sort方法制定这个排序器
4。那为什么不写implements Comparable <employy>?
这时候它不把compareTo方法为Comparable的方法的实现,而看作是你自己的方法,不是实现它的!所以没事!
但是你要用到Arrays.sort方法就挂了,注意,这时候这个数组里必须有2各以上的元素!
为什么要实现Comparable这个接口,重写compareTo方法呢?
是为了数组按照你自己的意愿去比较,,
就拿你的employy 对象来说把,,
例如employy 这个对象,有name,age,等属性,,
其中age为int类型,,
你要想数组按照age来排序的话,,你就得实现Comparable这个接口,重写compareTo方法,
在compareTo方法里,,按年龄进行比较了
应当改为构造自己的比较器
1)实现Comparable接口 覆盖它的 int compareTo(Object obj)方法
2)实现Comparator接口
我到想看看你同学没实现怎么就可以用的 源代码
有的类 自身就重写了compareTo()方法
要想用工具类的sort必然要实现比较接口
2. 数组的类型的祖先类实现了Comparable接口.
3. 调用的是带Comparator参数的重载sort方法.
还有另一个接口呢,用来在sort方法后面作为实例传进
Arrays.sort(object[],Comparetor<T>)
具体的,有点忘了