gpt4 book ai didi

java - 将 Guava MultiTreemap 放入 http session 时出现 NotSerializedException

转载 作者:行者123 更新时间:2023-12-01 22:40:47 34 4
gpt4 key购买 nike

我想将 Guava TreeMultimap 的实例放入 http session 中,但我不断收到此异常:NotSerializedException

有人知道如何解决这个问题吗?

我的 Controller 如下所示:

@Controller
public class MyController
{

public void doStuff(HttpServletRequest request, HttpServletResponse response)
{

TreeMultimap<String, MyCustomClass> myMap = TreeMultimap.create(
new Comparator<String>()
{
@Override
public int compare(String o1, String o2)
{
return o1.compareTo(o2);
}
},
new Comparator<MyCustomClass>()
{
@Override
public int compare(MyCustomClass o1, MyCustomClass o2)
{
return o1.compareTo(o2);
}
});

request.getSession().setAttribute("MyAttribute", myMap); //==> ERROR HERE!

}
}

最佳答案

看起来问题是您的比较器不是可序列化。将每个类都设为同时实现 ComparatorSerialized 的非匿名类,这样就可以了。

实际上,由于您的两个 Comparator 只是实现自然排序,因此您应该能够编写

TreeMultimap<String, MyCustomClass> myMap = TreeMultimap.create();

关于java - 将 Guava MultiTreemap 放入 http session 时出现 NotSerializedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26184714/

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