【问题标题】:MongoDB getList("field-name", Double::class.java); produces ClassCastException in KotlinMongoDB getList("字段名", Double::class.java);在 Kotlin 中产生 ClassCastException
【发布时间】:2020-06-16 22:32:33
【问题描述】:

我正在尝试从 MongoDB 中检索包含 Double 数组的字段,但我收到了一个

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);

如果这是 Kotlin 中的错误或我的代码中有错误,请告诉我。

【问题讨论】:

    标签: java mongodb kotlin


    【解决方案1】:

    Double::class.java 在 Java 中的等价物是 double.class,而不是 Double.class。这将在 Kotlin 中写为 java.lang.Double::class.java,或 Double::class.javaObjectType

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      相关资源
      最近更新 更多