【发布时间】:2018-10-24 10:07:48
【问题描述】:
有问题的代码如下:
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.List;
public class Test{
public static void main(String[] args) {
List<Human> humans= newArrayList<Human>();
humans.add(newHuman(13));
humans.add(newHuman(33));
humans.add(newHuman(21));
humans.add(newHuman(21));
Collections.sort(humans);
System.out.print(humans.get(0).age);
System.out.print(humans.size());
}
}
class Human implements Comparable<Human> {
int age;
public Human(int age) {
this.age = age;
}
public int compareTo(Human h) {
return h.age.compareTo(this.age);
}
}
我想知道为什么这段代码会导致编译错误?我不确定我哪里出错了。
一些额外的细节:
【问题讨论】:
-
错字:
importjava...应该是import java...。同样的问题:newArrayList -
为什么对编译器错误感到惊讶?你写
newArrayList或newHuman...你从哪里得知new和类型名称之间不需要空格? -
另外:int 没有实现任何接口,你不能在它上面调用 compareTo。
标签: java compiler-errors