我试图将反射场投射到地图上,但它给了我这个错误:
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