我在我的一个类中使用Guava TreeMultiset,需要将一个字段序列化/反序列化为一个已排序的多集。我正在使用自定义比较器来构造TreeMultiset:
private SortedMultiset<UserFavCatsNode> ms = TreeMultiset.create(new customComparator());
序列化似乎工作正常,但反序列化失败,因为Jackson无法访问自定义比较器来构造TreeMuliset实例。 在反序列化时如何传递比较器实例?
我最初搜索并找到两个选项:
public Constructor(@JsonDeserialize(as = CustomTreeMultiset.class) field) {
//
}
此策略失败,因为 Guava TreeMultiset是最终的,我无法实现扩展它的CustomTreeMultiset以提供包装器反序列化类。有没有更好的解决方案,而不是在课堂上注入自定义排序逻辑?