小编Liu*_*Liu的帖子

无法将反射场投射到地图中

我试图将反射场投射到地图上,但它给了我这个错误:

java.lang.ClassCastException: java.lang.reflect.Field cannot be cast to java.util.Map
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

最小可重复示例:


open class Base {
    var inherited: Map<String, String> = mapOf(Pair("testing", "testing"))
}

class Child: Base() {
    var notInherited: Int = 100
}


fun main() {
    val c = Child()
    var inheritedMap: Map<String, String> = c.javaClass.superclass.getDeclaredField("inherited") as Map<String, String> 
    println(inheritedMap)
}
Run Code Online (Sandbox Code Playgroud)

链接到代码游乐场:https://pl.kotl.in/xW8g4pNsX

java reflection kotlin

-1
推荐指数
1
解决办法
602
查看次数

标签 统计

java ×1

kotlin ×1

reflection ×1