Java 通用接口(interface)扩展了 Comparable

标签 java generics interface hashcode tostring

我想创建一个实现通用接口(interface) Comparable 并覆盖方法 equals、hashCode 和 toString 的 Employee 类...我该怎么做?

这样可以吗

interface MinMax<T extends Comparable<T>> {

T equals();
T hashCode();
T toString();

}

class Employee<T extends Comparable<T>> implements MinMax<T> {

 public T equals(){

  }

  public T hashCode(){

  }

  public T toString(){

  }



  }

最佳答案

这个问题有两个部分。

第 1 部分:覆盖 equals、hashCode 和 toString。

只需使用新实现在新类中重新定义这些方法即可。

class Employee {

    //fields and other methods

    public boolean equals(Object other) {
        //new implementation here
    }
    public int hashCode() {
        //make sure two equal objects produce the same hashCode
    }
    public String toString() {
        //return whatever you want here
    }
}

第 2 部分:实现 Comparable 接口(interface)。

我假设您希望与其他员工进行比较。声明它实现了Comparable,实现了接口(interface)描述的compareTo方法。

public Employee implements Comparable<Employee> {

    //fields and methods

    public int compareTo(Employee e) {
        //new implementation. Should probably be consistent with equals.
    }
}

关于Java 通用接口(interface)扩展了 Comparable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379343/

相关文章:

c# - Unity 配置和嵌套泛型类型

java - 没有找到适合 getAnnotation(Class<CAP#1>) 的方法

go - 如何为指向不同结构的指针实现相同的功能?

c# - 将工作单元与服务或 repo 分离

java - 如何在 Java 中实现抽象静态方法?

java - 当代码位于 try 和 catch 语句中时,为什么会引发 StackOverflowError?

java - 如何根据按下的按钮使用不同的验证

java - 为什么我不能从使用泛型创建的类中调用方法? java

java - 使用 java 从具有多个文件的文件夹中进行 Word 替换

java - 服务中的广播接收器在服务停止后仍在广播