package com.day2;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Test2 {
public static void main(String[] args) {
ByLength byLength = new ByLength();
List<String> names = new ArrayList<String>();
names.add("Tom");
names.add("Andy");
names.add("Li");
names.add("Wang");
names.add("Zhang");
Collections.sort(names, byLength);
System.out.println(names);
}
}class ByLength implements Comparator<String> {
public int compare(String o1, String o2) {
return -(o1.length() - o2.length());
}
}为什么comparator借口可以不用实现equals抽象方法。。求解 跪求解 谢谢谢谢
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Test2 {
public static void main(String[] args) {
ByLength byLength = new ByLength();
List<String> names = new ArrayList<String>();
names.add("Tom");
names.add("Andy");
names.add("Li");
names.add("Wang");
names.add("Zhang");
Collections.sort(names, byLength);
System.out.println(names);
}
}class ByLength implements Comparator<String> {
public int compare(String o1, String o2) {
return -(o1.length() - o2.length());
}
}为什么comparator借口可以不用实现equals抽象方法。。求解 跪求解 谢谢谢谢
----------无视这句话,compareTo()方法,可以不用自定义类的equals。
因此,虽然接口定义了equals方法,也不需要去实现再比如:interface iA {
void a();
}interface iB {
void b();
}class A {
public void a() {
} public void b() { }
}class B extends A implements iA, iB {
// B实现了iA,iB2个接口,但是因为在A类里已经有了,所有一个方法都不需要实现,也是可以通过编译的
}
只是不符合你的要求时才重写