显然,每当我尝试用Java编译这段代码时,它都会在这段代码的第4行告诉我:
import java.util.*;
public class Sorts {
public static void sort(ArrayList objects, Comparator<ZipInfo>) {
}
}
正如您所看到的,它将对象的ArrayList作为此方法的第一个参数。此外,ZipInfo是一个实现Comparator的类。 即使我修改参数说“ArrayList objects”,它仍然声称没有标识符。 此代码中是否存在导致此错误的缺陷?
答案 0 :(得分:4)
您需要为第二个参数设置标识符:
public class Sorts {
public static void sort(ArrayList objects, Comparator<ZipInfo> comp) {
}
}
答案 1 :(得分:1)
您需要传递比较器参数名称。你刚刚指定了类型。所以把它定义为:
public static void sort(ArrayList objects, Comparator<ZipInfo> comparator) {
答案 2 :(得分:1)
您的比较器参数缺少名称。为其添加名称。
public static void sort(ArrayList objects, Comparator<ZipInfo> zipComp) {
}