首页 > 解决方案 > kotlin 中的 javaClass 返回意外类型

问题描述

我想知道这个的底层java类

    val x: Array<Int> = arrayOf(1, 2, 3, 4, 5)
    val y: List<Int> = listOf(1, 2, 3, 4, 5)
    println(x.javaClass)
    println(y.javaClass)

输出是

类 [Ljava.lang.Integer;

类 java.util.Arrays$ArrayList

有人能指出[Ljava.lang.Integer我错过了什么吗?

标签: kotlin

解决方案


它是 . 类型的有效字符串表示形式Integer[]。您实际上是在调用隐式toString()by println(),它调用getName(). 您可以在此处找到此命名方案的文档:

https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#getName()


推荐阅读