你如何在 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
.
我有一个 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
.