I want a map between Int and any class. In Java it would be Map<Class<?>, Integer>. What's the Kotlin equivalent of that?

推荐答案

KClass等于Kotlin 的java.lang.Class.

An instance of KClass can be obtained with ::class on either a type or a value (i.e. String::class, 3.8::class).

如果需要KClass中的Java Class实例,可以使用java extension property:

val kotlinClass: KClass<String> = String::class
val javaClass: Class<String> = String::class.java

请记住,如果要使用Kotlin-Reflect的full features,则类路径上需要kotlin-reflect.

所以在你的例子中,类似功能是Map<KClass<*>, Int>.

Kotlin相关问答推荐

Kotlin-删除按钮周围的空格

合并状态流

如何在 Spring Boot 3 中为内部类提供运行时提示

Kotlin:使用另一个列表和字母顺序对列表进行排序的有效方法

Kotlin 数据类中的大量参数

高效匹配两个 Flux

从 HashMap 检索时的 NPE,即使 containsKey() 在多线程环境中返回 true

为什么 KFunction2 在 Kotlin 中不是可表示类型?

Kotlin 中获取类简单名称的最佳实践

如何用 kotlin 打包 List

Kotlin - 覆盖方法中的 IllegalArgumentException

ActivityOptions.makeSceneTransitionAnimation 在具有多个视图的 kotlin 中不起作用

哪里可以找到aapt2日志(log)?

Kotlin get字段注释始终为空

Android:在 DAO 中使用 Room 数据库和 LiveData 架构

如何使用协调器布局和行为在CardView上完成此动画?

Kotlin:相互递归函数的尾部递归

Android studio 4.0 新更新版本说 Kotlin 与这个新版本不兼容

从 Kotlin 访问 Integer.class

Kotlin Realm:如果类包含自定义构造函数,则必须声明一个不带参数的公共构造函数