Преобразование из списка BsonDouble to double [] java - PullRequest
0 голосов
/ 13 октября 2018

Мне нужно преобразовать ArrayList из BsonDouble в 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, а entry.getKey () возвращает строку, которая выбирает поле документа.Из исключения кажется, что я двигаюсь не в том направлении, но мне это кажется правильным.Помощь приветствуется.

Я использую:

  • группа компиляции: 'org.mongodb', имя: 'mongodb-driver', версия: '3.8.0'
  • compileгруппа: 'org.mongodb', имя: 'mongodb-driver-реактивные потоки', версия: '1.9.2'
  • java-jdk1.8

1 Ответ

0 голосов
/ 13 октября 2018

Было неверное предположение о возвращаемом типе данных.Код ниже будет выполняться нормально:

List<Double> bsonDoubles = (List<Double>) doc.get(entry.getKey());
double[] d = bsonDoubles.stream().mapToDouble(Double::doubleValue).toArray();
...