gpt4 book ai didi

java - 序列化 lambda 函数的映射

转载 作者:行者123 更新时间:2023-12-02 03:11:14 26 4
gpt4 key购买 nike

我有Type2 扩展了Type1

我有一个功能图:

private final Map<String, Consumer<Type1>> functionMap;
{
functionMap = new HashMap<>();
functionMap.put("test", (Type1 t) -> evalSessionSetupReq((Type2) t));
}

效果很好。但是当我尝试序列化该映射时,我收到一个 NotSerializedException 异常。

我尝试使用:

functionMap.put("test", (Serializable)(Type1 t) -> evalSessionSetupReq((Type2) t));

但是这不起作用。

如何序列化这样的 lambda 函数映射?

最佳答案

我认为您可以将 lambda 强制转换为函数接口(interface)和 Serialized 的交集,以使其可序列化。试试这个:

functionMap.put("test", 
(Consumer<Type1> & Serializable)((Type1 t) -> evalSessionSetupReq((Type2) t)));

关于java - 序列化 lambda 函数的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41013721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com