内隐类——将某类的定义置于另一类定义之中,此即所有内隐类
...
请参阅《java编程思想》p260array比较两种方式:
static void sort(List list)
此一,list中对象务必implements Comparable
static void sort(List list, Comparator c)
此一,用Comparator做为比较的依据详情请参阅jsdk类说明,及《java编程思想》第9章
...
请参阅《java编程思想》p260array比较两种方式:
static void sort(List list)
此一,list中对象务必implements Comparable
static void sort(List list, Comparator c)
此一,用Comparator做为比较的依据详情请参阅jsdk类说明,及《java编程思想》第9章
在比较array元素中,说提供了两种机制,是怎么样实现的,看了书后,还是不明白,小弟愚昧,请指教!
还是一个类?
不太明白你的问题,能否把书上的话说一下
java.lang.Comparable interface,使class具有比较能力,
说,只有一个函数,compareTo(),接受一个object做为引数,
第二个就是写一个class,令他实现Comparator interface.他有两个函数,compare()and equals().
小弟不明白是怎么实现比较的,能不能举个简单的示例!
java提供了两种比较
一种是:所有的类从Object父类中继承来的equals()方法
另一种是:这个类实现了Compareable(可比性)接口这两个方法的区别是:
1、equals()只判断是否相等,相等返回true,不相等返回false
2、而实现了实现了Compareable(可比性)接口的类,从这个接口中继承了一个方法compareTo(),这个方法要比equals()方法严格的多,compareTo()方法不仅要能否判断是否相等,还能能够判断谁大谁小例子:
Integer i1 = new Integer(8);
Integer i2 = new Integer(2);
Float f = new Float(5.0);i1.compareTo( i2 )会返回一个正数,表示 i1 > i2;
i1.compareTo( f ) 会出现运行是错误,这两个对象不属于一个类,不具有可比性;
i1.equals( f ) 会返回一个false,告诉你这两个对象不相等;
这是我的理解
如果有错误,请指正^_^