如何让Object 变得有序: 1,方法一:继承Comparable,实现CompareTo方法, CompareTo 只有一个参数, 但它有四个限制条件,具体我也没有研究,可查看相关信息。如果该类实现这个方法 它就具有比较规则定义,那么以后放在Collection中就能实现直接排序,或者与另一个同 类的对象进行比较。如果该类没有实现该方法,那它就会没有比较规则定义,那么就会throw ClassCastExceptioin 2,方法二:如果类没有实现或者说定义比较规则,那么可以用比较器来定义Collection中的比较 策略,继承Comparator类并实现它中的Compare方法,Compare方法有两个参数,Compare方法同样有四个限制条件 其实比较器还是不很好用,因为在不同的方法中,比较器在方法中的用途或者说判断条件的地方有所不同,如果要想 很深入了解每个将Comparator作为参数的方法,那需要研究各个jdk中相干的源码。比如Arrays.sort 方法中就用到Comparator。
虽然Comparator 的具体实现不是很好理解,但它的理念还是和Comparable很清楚的。 方法一表示,上帝制造万物的时候,一开始就给每个物种添加了条件属性,使他们可以按有序排列 方法一表示,上帝制造万物的时候,但一时粗心忘了给每个物种添加了条件属性,他们就很混乱,女娲知道后就 造了一把尺子,在需要有序的地方让他们相互对着尺子比较。
|