我知道接口不能有构造函数,我们不能创建接口对象.
这是不可能的:
Comparator cmp = new Comparator();
我不明白如何使用关键字“new Comparator()”创建一个匿名内部类.此关键字是否不会创建Comparator类型的对象?
这是完整的代码:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class DemoApp {
public static void main(String args[]) {
List animals = new ArrayList<>();
animals.add("elephant");
animals.add("snake");
animals.add("lion");
animals.add("mangoose");
animals.add("cat");
animals.add("tiger");
Collections.sort(animals, new Comparator() {
public int compare(String s1, String s2) {
return -s1.compareTo(s2);
}
});
displayList(animals);
}
public static void displayList(List anim) {
for (String animal : anim) {
System.out.print(animal + " ");
}
System.out.println();
}
}