java - 具有长键的映射在 Serialized 类中不起作用

标签 java google-app-engine serialization jetty

我有一个可序列化的类,带有映射属性。本地图有 Long 作为键时,代码不起作用,而使用 String 时,代码可以工作。

这不起作用:

public class UserSession implements Serializable {
    Map<Long, Date> timeQuestionAsked = new HashMap<>();
}

这确实有效:

public class UserSession implements Serializable {
        Map<String, Date> timeQuestionAsked = new HashMap<>();
    }

奇怪的是我也不异常(exception)。这个类被加载到 Jetty(谷歌应用程序引擎应用程序)的过滤器中,当我尝试使用 Long 键使用该类时,我收到一个奇怪的“未找到”错误。

最佳答案

其实是我使用的数据库框架objectify造成的。事实证明, map 必须以字符串作为键:https://code.google.com/p/objectify-appengine/wiki/Entities#Maps

它与可序列化无关...

关于java - 具有长键的映射在 Serialized 类中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060729/

相关文章:

java - Eclipse RCP 与 google Windowbuilder pro

java - 选择不带图标的searchview android

java - 如何在localhost上运行ESP(Extensible Service Proxy)在本地模拟认证?

python - 如何提高memcache命中率?

c# - 检查对象是否为数字

java - 动态规划与背包应用

java - 为什么我的音频播放会卡住ActionListners?

python - 如何在 Google App Engine 上的 django 中避免 NotImplementedError "Only tempfile.TemporaryFile is available for use"?

c# - 在 UWP 应用程序中使用加密将对象序列化为文件

c# - 第一次反序列化比后续反序列化花费的时间要长得多