java - 如何在 android studio 上启用泛型类型 <T>

标签 java android android-studio kotlin

我正在用 kotlin 编程,并且尝试使用 Hashmap,但是它给了我这个错误:未解析的引用,我尝试导入 java.lang.reflect.*;但这没有帮助。

这是我的代码(IDE 无法识别 T):

    fun updateValues(map:HashMap<String,T>){
            map.keys.forEach { key->{
                when(map[key]){
                    is String-> sharedPrefrences.edit().putString(key,map[key])
                    is Integer-> sharedPrefrences.edit().putInt(key,map[key])
                }
            } }
            sharedPrefrences.edit().apply()
        }

最佳答案

您需要为您的函数指定类型参数,例如

fun <T> updateValues(map:HashMap<String,T>){ ...

关于java - 如何在 android studio 上启用泛型类型 <T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61224537/

相关文章:

android - 将 Gradle 升级到 3.5.1 时数据绑定(bind)停止工作

android - 只想在运行单元测试时运行自定义 gradle 任务

安卓工作室。 "Database Inspector is loading"

java - Apache xmlrpc - 客户端通知

java - Hibernate查询语言: selecting some properties requires alias name

android - AccessibilityService - performGlobalAction 在自己的应用程序中不起作用

android - 我可以使用模拟的 Android 环境测试 Arduino Mega ADK 吗?

java - Spring 异步方法不适用于 EndPoint

Java Switch 语句操作 Enum 大小写

java - 是否有适用于 Android 的最佳 API 客户端模式?