Javaでシンプルな汎用メソッドを実装しながら、コンパイルエラーを取得

クリシュナ・プラサド:

Javaでジェネリックメソッドを実装しながら、コンパイルエラーを取得

私の一般的なインターフェース:

interface GenericInterface {
    <T> T genericMethod(T t);
}

以下はエラーを投げている私の実装です。

public class GenericImplementation implements GenericInterface {

    // Not working
    @Override
    public Double genericMethod(Double t) {
        System.out.println("Trying to implement generic method with return T and method args T as well ");
        return t*4.3;
    }

}

すべてのヘルプは非常に、事前に感謝し、私はあるかもしれないジェネリッククラスの実装で何かが欠けていますとなります。

アンディ・ターナー:

あなたの実装は、特定のタイプのためになりたい場合は、型変数は、クラス/インターフェースで宣言する必要があります。

interface GenericInterface<T> {
    T genericMethod(T t);
}

そして、のように実装します。

public class GenericImplementation implements GenericInterface<Double> {

<T> T genericMethod(T t)実装は任意のタイプのためにすることができ意味するものではありません、それがためであることを有することを意味するすべてのタイプ。あなたは1種類にそれを制限することはできません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=222775&siteId=1