Android kotlin 对象任何类型不匹配

DiR*_*oiD 8 java android type-mismatch kotlin

如何将 kotlin 映射分配给 java 库映射。这会导致 Object 和 Any 类型不匹配错误。

我需要从我的 kotlin 代码映射中在 3rd 方 java 库中分配 java 映射变量。

val model = JavaModel() //from 3rd party java library

val params:MutableMap<String, Any> = HashMap()
params.put("key","value")
model.params = params //gives error below
Run Code Online (Sandbox Code Playgroud)

类型不匹配:推断的类型是MutableMap<String, Any>Map<String, Object>?预期的

Hon*_*uan 1

Java 的Object与 Kotlin 的不同Any,因此类型MutableMap<String, Any>Map<String, Object>?匹配,因为您无法更改第 3 方 java 库,只需将其声明params为:

val params: MutableMap<String, Object> = HashMap()
Run Code Online (Sandbox Code Playgroud)