我正在我的应用程序中实现标记系统。我有一个标记对象的所有Tags
的主列表。对象可以有多个标记,这些标记是对主列表中标记的引用。
当我将数据作为json保存到文件中,然后在我的应用再次运行时加载它时,这些引用会丢失(tagInMainList == referenceToTag
不成立。)
我该如何解决这个问题?
答案 0 :(得分:1)
我非常关心身份,除非您需要最小化内存使用和/或其他重度优化。我担心,你需要一个自定义的反序列化器。有了它,您只需使用Guava的interner将return tag
替换为return myTagInterner.intern(tag)
。
答案 1 :(得分:1)
如果您松散地耦合了引用,那么它们只保存了地图查找中使用的键值,该怎么办?您仍然可以支持tagInMainList.equals(keyBasedReferenceToTag)
或tagInMainList.getKey().equals(keyBasedReferenceToTag)
之类的平等。 JSON会更简单,甚至更简洁。