MongoDB getList ("имя-поля", Double :: class. java); производит ClassCastException в Kotlin - PullRequest
2 голосов
/ 16 июня 2020

Я пытаюсь получить поле, содержащее массив Double из MongoDB, но получаю

ClassCastException: List element cannot be cast to double.

Класс записан в Kotlin , и часть кода, вызывающая исключение:

val coordinates = doc.getList(FIELD_COORDINATES, Double::class.java)

Это работает:

val coordinates = doc.get(FIELD_COORDINATES) as List<Double>

И эквивалентный код в Java тоже работает:

final List<Double> coordinates = doc.getList(FIELD_COORDINATES, Double.class);

enter image description here

Пожалуйста, дайте мне знать, если это ошибка в Kotlin или есть ошибка в моем коде.

1 Ответ

1 голос
/ 16 июня 2020

Эквивалент Double::class.java в Java равен double.class, а не Double.class. Это будет записано как java.lang.Double::class.java в Kotlin или Double::class.javaObjectType.

...