2016-12-02 8 views
-1

私は非常にシンプルなインターフェイスを持ってIncompatibe戻り値の型エラー実装するジェネリックインターフェイスメソッド

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

しかし明らかに(評価)インタフェースメソッドが汎用であるにもかかわらず、「互換性のない戻り型」を持っています。ジェネリックメソッドを間違って構築していますか?ここで何が起こっていますか?

ありがとうございます。

+4

ジェネリック型としてプリミティブ型を使用することはできません。 'T'タイプは、私の答えのように見える' Object' – 4castle

+1

@ 4castleに消去されます(説明付きで)...決して気にしないで、他の誰かが答えました。 –

答えて

2

あなたはジェネリックへのタイプを指定していない、とあなたは原始的doubleを使用することはできません(ただし、Doubleラッパー型を使用することができます)。

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

ああ、素晴らしい。ありがとう、私はそれが簡単な修正であることを知っていた。 – user3668541