Lor*_*cci 5 java static comparator
int compare(Object o1,Object o2)比较它的两个参数的顺序.
比较2对象o1和o2需要做类似的事情:
MyClass o1=new MyClass();
MyClass o2=new MyClass();
if (o1.compare(o1,o2)>0) ......
Run Code Online (Sandbox Code Playgroud)
为什么这个方法不是静态的?如果方法是静态的,如:
if (MyClass.compare(o1,o2)>0) ....
Run Code Online (Sandbox Code Playgroud)
如果它是静态的,怎么可能被称为多态?关键Comparator是你可以将一个实例传递给像sort...... 那样必须在比较器实例上调用compare方法.
如果一个类能够将自身的一个实例与另一个实例进行比较,那么它应该实现Comparable,所以你要写:
if (o1.compareTo(o2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5239 次 |
| 最近记录: |