代码之家  ›  专栏  ›  技术社区  ›  Jack Guo

Kotlin等价于class<?>

  •  1
  • Jack Guo  · 技术社区  · 7 年前

    我想要一张介于 Int 以及任何一类。在Java中 Map<Class<?>, Integer> .Kotlin与之相当的是什么?

    3 回复  |  直到 7 年前
        1
  •  4
  •   Salem    7 年前

    KClass Kotlin等于 java.lang.Class .

    的实例 K类 可通过以下方式获得 ::class 在类型或值(即 String::class ,请 3.8::class )。

    如果需要Java Class 实例来自 K类 您可以使用 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> .

        2
  •  3
  •   EpicPandaForce Jigar Joshi    7 年前

    同等的声明是 Map<Class<*>, Int> .

        3
  •  1
  •   Elforama    7 年前

    你在找KClass。您需要添加Kotlin反射库才能使用它。