从 BsonDouble list 到 double[] java 的转换



我需要将 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();

最新更新