我是 Java 的新手,正在尝试解决一些基本问题。我的一位 friend 让我解释一下这段代码可能会出现什么问题。 对我来说,它看起来非常好。 我什至尝试了一下,它确实有效。
你们能帮我解决一下吗?
public int compareTo(Object o){
Employee emp = (Employee) o;
return this.id - o.id;
}
我找不到任何好的解释。 id 也是一个整数。
最佳答案
Comparable
是具有泛型的接口(interface),所以它应该是Comparable<Employee>
. (所以你确定你比较的是 Employee 和 Employee,而不是 Employee 和数字。)
Employee emp = (Employee) emp;
有道理吗?
你投了emp
至 Employee
并将其放入 emp
.也许你的意思是(Employee) o
return this.id - o.id;
您使用 o
这是 Object
, 和 Object
没有.id
也许你的意思是emp.id
?
关于Java compareTo 方法基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560138/