我正在尝试将元素的HashMap转换为JSON字符串.我正在使用此link中使用的方法.
val elementsNew: HashMap = HashMap(elements)
val type = Types.newParameterizedType(Map::class.java, String::class.java, Element::class.java)
var json: String = builder.adapter(type).toJson(elementsNew)
但这会产生以下错误
Error:(236, 40) Type inference failed: Not enough information to infer
parameter T in fun adapter(p0: Type!): JsonAdapter!
Please specify it explicitly.
谁能告诉我哪里出错了?是因为Kotlin吗?
解决方法:
查看adapter()方法的签名,它无法从参数中推断出它的类型参数:
public JsonAdapter adapter(Type type)
因此,您必须明确提供类型:
var json = builder.adapter>(type).toJson(elementsNew)
或者:
val adapter: JsonAdapter> = builder.adapter(type)
var json = adapter.toJson(elementsNew)
标签:android,kotlin,moshi
来源: https://codeday.me/bug/20190527/1162827.html