这个问题涉及泛型并使用 Comparable 和 Comparator 接口。
我有一堂巧克力课:
public class Chocolate implements Comparable<Chocolate> {
public int compareTo(Chocolate c) {
if (this.getValue() > c.getValue()) {
return 1;
} else if (this.getValue() < c.getValue()) {
return -1;
} else {
return 0;
}
}
}
和一个班级对
public abstract class Pair<E extends Comparable<E>, T extends Comparable<T>>
implements Comparable<Pair<E, T>> {
public int compareTo(Pair<E, T> p) {
if (this.first.compareTo(p.first) > 0) {
return 1;
} else if (this.first.compareTo(p.first) < 0) {
return -1;
} else {
if (this.second.compareTo(p.second) > 0) {
return 1;
} else if (this.second.compareTo(p.second) < 0) {
return -1;
}
}
return 0;
}
}
另一个类 Sorter 有一个 main 方法
public class SortingClient {
public static void main(String[] args){
Pair<Chocolate, Chocolate>[] pairs = (Pair<Chocolate, Chocolate>[]) new Pair<?,?>[numPairs];
Comparator<Pair<Chocolate, Chocolate>> interfaceChocolate = new Comparator<Pair<Chocolate, Chocolate>>(){
public int compare(Pair<Chocolate,Chocolate> c1, Pair<Chocolate,Chocolate> c2){
if (c1.compareTo(c2) > 0){
return 1;
}
else if (c1.compareTo(c2) < 0){
return -1;
}
else {
return 0;
}
}
} * Error here*
}
我在倒数第二行出现错误,标记为“语法错误,插入“;”以完成 LocalVariableDeclarationStatement” 此错误是什么意思,我该如何解决?