次のように、ジェネリッククラスタイプ T があります。
class MyClass<T>
また、T は内部に 1 つのメソッドしかないインターフェイスであることはわかっていますが、どのインターフェイスかはわかりません。これを書くことはできません。
class MyClass< T extends TheInterface >
このメソッドを呼び出す方法はありますか?
public void callMe(T me, Object...params){
// How can I invoke T interface method?
}
私はこれを試しています:
public void callMe(T me, Object... params) {
// methods.length is 244, just as in my activity class
Method[] methods = me.getClass().getMethods();
try {
methods[0].invoke(me, params);
} catch (IllegalArgumentException e) {
e.printStackTrace();
return;
} catch (IllegalAccessException e) {
e.printStackTrace();
return;
} catch (InvocationTargetException e) {
e.printStackTrace();
return;
}
}
しかし、それは機能していません
編集:なぜこれが必要なのかを説明する新しい質問を投稿しました