2

SerializedLambda の署名は次のとおりです。

SerializedLambda(CaptureClass の文字列、機能のインターフェイス クラスの文字列、機能のインターフェイス メソッド名の文字列、機能のインターフェイス メソッドの文字列の署名、int implMethodKind、文字列の implClass、文字列の implMethodName、文字列の implMethodSignature、文字列のインスタンス化されたメソッド タイプ、オブジェクト [] CaptureArgs)

これで、キャプチャ クラスが 1 つであることがわかりますdeserializeLambda

SerializedLambda には、キャプチャ クラスで $deserializeLambda$(SerializedLambda) と呼ばれる (おそらくプライベートな) 静的メソッドを探す readResolve メソッドがあり、それ自体を最初の引数として呼び出します。

しかし、私は何implClassのために得られませんでした。

実装メソッドを含むクラスの名前を取得します。

キャプチャークラスは実装メソッドのクラスではないでしょうか?これらのフィールドに含まれる値を確認するためにラムダ関数をシリアル化しようとしましたが、クラスは同じでした。implClassとはどう違いcapturingClassますか?

4

1 に答える 1