Kotlinでシリアライズ可能なラムダを使用できますか?私はKotlinからJinqライブラリを使用しようとしていますが、シリアライズ可能なlambdaが必要です。それを可能にする構文はありますか?KotlinのJinq - どのようにjava SerializedLambdaにラムダを変換するには?
更新:
マイコード:
var temp=anyDao.streamAll(Task::class.java)
.where<Exception,Task> { t->t.taskStatus== TaskStatus.accepted }
.collect(Collectors.toList<Task>());
私はこのエラーを取得しています:
Caused by: java.lang.IllegalArgumentException:
Could not extract code from lambda.
This error sometimes occurs because your lambda references objects that aren't Serializable.
ラムダで参照されるすべてのオブジェクトは、シリアライズされている(Javaでエラーなしでコードの結果)。それをデバッグした後
アップデート2
はそのkotlinラムダは、から情報を取得するためにJinqによって必要とされるjava.lang.invoke.SerializedLambdaに翻訳されていないようです。だから問題はSerializedLambdaに変換する方法です。