你如何在 kotlin 中反序列化序列化的 lambda 函数?

How do you deserialize a serialized lambda function in kotlin?

我有一个 lambda 表达式:

val lambda: ((ArrayList<String>) -> Unit)

我将其作为可序列化对象放入 Bundle 中,如下所示:

putSerializable(LAMBDA, lambda as Serializable)

如何将 lambda 反序列化回函数类型:“((ArrayList) -> Unit)”?

我正在尝试让它工作:

            state.getSerializable(LAMBDA)?.also {
               val deserializedLambda: ((ArrayList<String>) -> Unit) = it
            }

“它”是可序列化的。但是我需要以某种方式反序列化它以使其恢复为 ((ArrayList) -> Unit) 类型,这是变量“更改”的类型。

感谢您的帮助

想必您需要演员表:it as (ArrayList) -> Unit.