问题描述
我正在尝试在MongoDB中存储java.time.ZoneId
类型的字段。对于这种类型,我需要一个org.bson.codecs.Codec
。但是,当我尝试插入ZoneId
时,会显示以下内容:
Can't find a codec for class java.time.ZoneRegion
这是此代码块的来源:
package java.time
static ZoneId of(String zoneId,boolean checkAvailable) {
Objects.requireNonNull(zoneId,"zoneId");
if (zoneId.length() <= 1 || zoneId.startsWith("+") || zoneId.startsWith("-")) {
return ZoneOffset.of(zoneId);
} else if (zoneId.startsWith("UTC") || zoneId.startsWith("GMT")) {
return ofWithPrefix(zoneId,3,checkAvailable);
} else if (zoneId.startsWith("UT")) {
return ofWithPrefix(zoneId,2,checkAvailable);
}
return ZoneRegion.ofId(zoneId,checkAvailable);
}
它正在为我的案例ZoneRegion
创建一个ZoneId.of("Africa/Harare")
。
ZoneRegion
是私有的,这给我带来了麻烦,因为我现在无法为其创建编解码器:
final class ZoneRegion extends ZoneId implements Serializable
println(ZoneId.of("Africa/Harare").getClass)
class java.time.ZoneRegion
问题是。如何为ZoneRegion
实现编解码器?
任何帮助将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)