实现通用接口方法时,不兼容返回类型错误

时间:2016-12-02 00:57:06

标签: java generics javafx return return-type

我有一个非常简单的界面:

public interface Evaluateable<T> {
    public T evaluate();
}

我正在尝试在另一个类中实现evaluate()方法:

public class NumberNode() implements Evaluateable {
    public double evaluate() { // Error with this method
        return 5.0;
    }
}

然而,尽管接口方法是通用的,但看起来evaluate()有一个'不兼容的返回类型'。我是否构建了通用方法错误 - 这里发生了什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您没有为通用类型指定类型,也不能使用基元double(但您可以使用Double 包装类型)。< / p>

public class NumberNode() implements Evaluateable<Double> {
    public Double evaluate() {
        return 5.0;
    }
}