我需要将 BsonDouble 的 ArrayList 转换为 double[]。下面的代码引发异常:
'java.lang.ClassCastException: java.lang.Double 不能强制转换为 org.bson.BsonDouble'
List<BsonDouble> bsonDoubles =
(List<BsonDouble>) doc.get(entry.getKey());
double[] d =
bsonDoubles.stream().mapToDouble(BsonDouble::doubleValue).toArray();
其中doc是一个BSON Document对象,entry.getKey((返回一个获取文档字段的字符串。 从例外来看,我似乎选择了错误的方向,但对我来说似乎是正确的。感谢帮助。
我正在使用:
- 编译组:"org.mongodb",名称:"mongodb-driver",版本:"3.8.0">
- 编译组:"org.mongodb",名称:"mongodb-driver-reactivestreams",版本:"1.9.2">
- java-jdk1.8
关于返回的数据类型有一个错误的假设。下面的代码将很好地执行:
List<Double> bsonDoubles = (List<Double>) doc.get(entry.getKey());
double[] d = bsonDoubles.stream().mapToDouble(Double::doubleValue).toArray();