インターフェイスでジェネリックタイプをパラメータ化しようとしていますが、abc()
タイプがT
で実装されていないとEclipseから通知されます。もちろん、実装されていないのは、T
がインターフェイスなので、プログラムは実行時に何かT
が本当に何であるかを把握します。だから、もし誰かがこれを解決するのを助けることができたら、私は本当に感謝するだろう。あなたはそれT
がタイプObject
である定義されてきたようにJavaインターフェイスとパラメータのタイプ
interface myInterface {
String abc();
}
class myClass<T> implements myClassInterface<T> {
String myMethod() {
T myType;
return myType.abc(); // here it says that abc() is not implemented for the type T
}
}
public class Main{
public static void Main(String[] arg) {
myClassInterface<myInterface> something = new myClass<myInterface>;
}
}
:あなたは
T
がmyInterface
を拡張することを定義することによってそれを行いますか? –Tは汎用タイプです。あなたのインターフェイスへの接続はどこですか? –
[バインドされた汎用タイプ](https://docs.oracle.com/javase/tutorial/java/generics/bounded.html)が必要です。 –