【发布时间】:2018-01-26 04:51:14
【问题描述】:
我的 yaml 文档看起来类似于 seq: [0, 0.23, 0.45, 0.67]
Snakeyaml 将 yaml 序列解析为具有值的 ArrayList:
[0]: 0 (Integer)
[1]: 0.23 (Double)
[2]: 0.45 (Double)
[3]: 0.67 (Double)
我需要所有这些值都是Double 类型,以便使用list.toArray(new Double[]) 将列表转换为Double[] - 否则会抛出ArrayStoreException,因为Integer 不是同一类型作为Double。
- 是否有一种可接受的方式将
ArrayList<Object>转换为我错过的Double[]? - 如何配置 Snakeyaml 以将所有数字加载为双精度数?
附加信息
使用的 Snakeyaml 版本是 1.17。
我这样创建 Snakeyaml 实例:
private Yaml createYamlInstance() {
DumperOptions dumperOptions = new DumperOptions();
dumperOptions.setDefaultFlowStyle(FlowStyle.AUTO);
return new Yaml(dumperOptions);
}
编辑
我查看了documentation,但看不到example 中的默认隐式类型是如何更改的。
【问题讨论】:
-
你解决了这个问题吗?