機能インタフェースの本体でリフレクションによってメソッドを呼び出せれば誰でも知っていますか?Java:機能インタフェースのリフレクションによるメソッドの呼び出し
述語を返したいと思います。したがって、典型的な構文は、たとえば
です。しかし、私の特別なケースでは、それは変数なので、クラスも呼び出すメソッドも知られていません。
Method method = Class.forName("Data").getMethod("getVar1", (Class[]) null);
Predicate<T> pred = data ->
((String) method.invoke(data, (Object[]) null)).equals("foobar");
しかし、Eclipseは言う: "に、TargetInvocationExceptionを扱わない"
は、だから私はこのような何かを取得したいです。だから私はtry-catchで囲んだが、Eclipseはすでに同じメッセージを表示している。誰かが私の手がかりを持っていますか?
カプセル化するmethod.invoke =) –
を何 'Data'動的にロードされたクラスとコンパイル時の型 'T'との関係? 'Data'型の引数を期待する関数が' T'型の引数を受け入れると主張するのは正しいとは思われません... – Holger