gpt4 book ai didi

Java 到 Kotlin_Gson.Json 转换错误

转载 作者:行者123 更新时间:2023-12-02 09:49:53 25 4
gpt4 key购买 nike

从 java 转换为 kotlin 时,输出如下 Java:

Gson gson = new Gson();
String strObj = getIntent().getStringExtra("passdata");
userDictionery = gson.fromJson(strObj, Map.class);

Kotlin :

val gson = Gson()
val strObj = intent.getStringExtra("passdata")
userDictionery = gson.fromJson<Map<*, *>>(strObj, Map<*, *>::class.java) as Map<String, String>?

但是 kotlin 中的第二行显示了一个错误 - 仅允许类位于类文字的左侧

变量userDictionery声明为Map<String, String>

如何解决这个问题?

最佳答案

您无法在 Kotlin 中引用类及其泛型参数,就像您无法在 java 中引用它们一样。所以Map<*, *>::class在 Kotlin 中与 Map<?, ?>.class 一样无效。是在Java中。替换这个:

gson.fromJson<Map<*, *>>(strObj, Map<*, *>::class.java)

这样:

gson.fromJson<Map<*, *>>(strObj, Map::class.java)

关于Java 到 Kotlin_Gson.Json 转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56394912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com