2
Methodメソッドの指定されたゲッターメソッドに基づくリフレクションを使用してセッターメソッドを取得するメソッドシグネチャーがあります。この方法の 署名は以下の通りです:collectors-map-java8内のラムダクラスのクラスタイプ
Method getSetter(final Method getterMethod, final Class classType)
今、私は関連するsetterメソッドへのgetterメソッドのマップをしたいクラスのメソッドから。私のコードは以下の通りです:私はgetSetter(メソッド、するClassType) でコンパイルエラーを取得しています
final Method[] methods = classType.getMethods();
Stream.of(methods)
.filter(ReflectionUtils::isGetter)
.collect(Collectors.toMap(Function.identity(), (method) -> getSetter(method, classType)));
それは間違って最初の型引数が見つかり言う:<lambda parameter>
、必要:java.lang.reflect.Method
は、私はまたのための型を指定しようとしましたラムダパラメータ。下記を参照してください
Stream.of(methods)
.filter(ReflectionUtils::isGetter)
.collect(Collectors.toMap(Function.identity(), (Method method) -> getSetter(method, classType)));
ここでは、機能的なインターフェイスの種類を推論することはできません。
これを再現することはできません。 https://ideone.com/xt5Fb6輸入品を確認し、Javaの正確なバージョンと使用しているコンパイラを指定してください。 –
おかげさまで!実際にはgetSetterメソッドのために私はNoSuchMethodExceptionを投げていました。代わりにtry catchブロックを作成しておくべきです。私が変更され。出来た。 – Sampath