Java compareTo 方法基础

标签 java

我是 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;

有道理吗?

你投了empEmployee并将其放入 emp .也许你的意思是(Employee) o

return this.id - o.id;

您使用 o这是 Object , 和 Object没有.id也许你的意思是emp.id

关于Java compareTo 方法基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560138/

相关文章:

java - 线程 "JavaFX Application Thread"java.lang.IllegalArgumentException : argument type mismatch 中的异常

java - iOs 表情符号在使用 java 的推送通知中显示为 Unicode 字符

java - 有什么方法可以从文件系统获取文件 CRC?

java - Android:无法在 Activity 中显示从 Firebase 检索到的 POJO 到 GridView

java - 如何使用Java Stream轻松实现groupby中的条件计数

Java字符串包含 "splitted"字符串

java - 如何使用 Webdriver 从复杂的 css 案例中获取 WebElement 的颜色?

java - XSLT 处理与 Java : passing xml content in parameter

java - 有人知道使用Xcode的在线Java教程吗?

java javap和groovy字节码比较