如何将kotlin映射分配给Java库映射。
这会为对象和任意对象提供类型不匹配错误。
我需要从我的kotlin代码映射中分配一个第三方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
类型不匹配:推断的类型为
MutableMap<String, Any>
,但应为Map<String, Object>?
最佳答案
Java的Object
与Kotlin的Any
不同,因此类型MutableMap<String, Any>
和Map<String, Object>?
不匹配,因为您无法更改第三方Java库,只需将params
声明为:
val params: MutableMap<String, Object> = HashMap()