我正在与一个非常老的项目一起工作,其中包含很多Java代码,并且要替换它,这将太麻烦了,并且由于kotlin比Java更好,我正在尝试修改kotlin中所有的新代码,但是当我尝试使用此kotlin代码访问Java代码
val params = mutableMapOf<String, String>(
"name" to response.name,
"type" to response.type
)
product.params = params
它在params
下方有一个红色下划线,
Required: Hashmap<String!, Any!>!
Found: MutableMap<String, String>
这是我的Java设置器
public void setParams(HashMap<String, Object> params){
this.params = params;
}
是否可以在不更改Java代码的情况下解决此问题?如果可能的话,请帮忙,如果不能解决,请解决什么方法。
答案 0 :(得分:4)
您可以改用hashMapOf
。
product.params = hashMapOf<String, Any?>(
"name" to response.name,
"type" to response.type
)
答案 1 :(得分:1)
您可以根据参数构造一个新的HashMap:
val params = mutableMapOf<String, String>(
"name" to response.name,
"type" to response.type
)
product.params = HashMap(params)
答案 2 :(得分:0)
您需要使用HashMap <>而不是mutableMapOf()
val params = HashMap<String, String>()
params.put("name", response.name)
params.put("type", response.type)
product.params = params