Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 定义实现可比较的_Java_Interface_Comparable - Fatal编程技术网

Java 定义实现可比较的

Java 定义实现可比较的,java,interface,comparable,Java,Interface,Comparable,我试图定义一个接口,这样所有实现类都必须与其自身及其子类相比较 例如,考虑: public interface Rating implements Comparable<Rating> {} 我想放宽这一要求,以便定义一个类,如: public class A implements Rating { public int compareTo(A a) {return 0;} } 我猜想您可能希望您的“compareTo()”返回除“0”之外的内容 您可以使用“instan

我试图定义一个接口,这样所有实现类都必须与其自身及其子类相比较

例如,考虑:

public interface Rating implements Comparable<Rating> {}
我想放宽这一要求,以便定义一个类,如:

public class A implements Rating {
    public int compareTo(A a) {return 0;}
}
  • 我猜想您可能希望您的“compareTo()”返回除“0”之外的内容

  • 您可以使用“instanceof”查看任意对象是否是某个特定类(或子类)

  • 我不确定重载“compareTo()”是否一定是个好主意。您甚至可能希望将输入参数设置为“objecto”


  • 伊姆霍。。pSM

    我想你是想得到这样的东西:

    public class Rating implements Comparable<? extends Rating> {
       ...
    }
    

    public class Rating implements compariablean
    接口
    扩展另一个
    接口
    不实现。您具体想做什么?无法完成。从根本上说,您需要编写一个类型on Rating,上面写着“实际实现这个接口的类的类型”,而Java中没有这样做的方法。我认为这是一种所谓的“依赖型”;这些只存在于少数研究语言中,还没有完全解决。汤姆已经回答了我的问题。谢谢大家。在我看来,你是在这个问题还没有被充分定义之前回答这个问题的。编辑:顺便说一下,不是我的反对票。
    public class Rating implements Comparable<? extends Rating> {
       ...
    }
    
    public interface Rating extends Comparable<? extends Rating> {
       ...
    }