Java:Chronicle Map是否支持不同的值类?
我通常使用类似于这样的Java:Chronicle Map是否支持不同的值类?,java,value-type,chronicle-map,Java,Value Type,Chronicle Map,我通常使用类似于这样的 编年史地图生成器 =编年史MapBuilder.of(SomeKey.class,MyImplClass.class); 历史地图 =builder.constantKeySizeBySample(someKey) .平均值(someValue) .entries(myCollection.size()) .createPersistedTo(我的文件); 编年史地图是否支持存储不同值类的实例?如果支持,如何构建该地图 例如: ChronicleMapBuilder&l
编年史地图生成器
=编年史MapBuilder.of(SomeKey.class,MyImplClass.class);
历史地图
=builder.constantKeySizeBySample(someKey)
.平均值(someValue)
.entries(myCollection.size())
.createPersistedTo(我的文件);
编年史地图是否支持存储不同值类的实例?如果支持,如何构建该地图
例如:
ChronicleMapBuilder<SomeKey, MyInterfaceThatHasManyDifferentImplementations> builder
= // .. now what?
编年史地图生成器
= // .. 现在怎么办?
基本上,我只有一个关键类-a级。但是这个日期可以(或者至少,我希望它)映射到公共接口的不同实现。我认为自己有一个共同的界面是幸运的,但如果可以建立一个编年史地图,即使没有一个共同的接口,请告知。
很抱歉,我目前没有能力测试Chronicle Map对不同值类的支持,也无法在Internet上找到任何形式的文档。采用两个
类
参数。在最坏的情况下,您可以使用对象。class
是您的值类(第二个参数),并在映射中存储您想要的任何值。接受两个class
参数。在最坏的情况下,您可以使用对象。class
是您的值类(第二个参数),并在映射中存储您想要的任何值。您确定吗?为什么构建器要以我的类参数开始?他们肯定会对此进行大量反思。但我从来没有真正理解过为什么我会用真实的样本指定平均值大小。经过仔细检查(真实的测试)后,我发现你是对的。@MartinAndersson“构建者为什么要从我的类参数开始?”实际上是一个有趣的问题。编年史MapBuilder要求键/值类对象主要检查是否为这些类(即盒装原语、字符串、字符序列等)预定义了优化的序列化程序。只有当key/value类是一个值接口时,才会执行“Reflection vodoo”。您确定这一点吗?为什么构建器要以我的类参数开始?他们肯定会对此进行大量反思。但我从来没有真正理解过为什么我会用真实的样本指定平均值大小。经过仔细检查(真实的测试)后,我发现你是对的。@MartinAndersson“构建者为什么要从我的类参数开始?”实际上是一个有趣的问题。编年史MapBuilder要求键/值类对象主要检查是否为这些类(即盒装原语、字符串、字符序列等)预定义了优化的序列化程序。只有当key/value类是值接口时,才会执行“Reflection vodoo”。
ChronicleMapBuilder<SomeKey, MyInterfaceThatHasManyDifferentImplementations> builder
= // .. now what?