kotlin - 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
我错过了什么吗?
解决方案
它是 . 类型的有效字符串表示形式Integer[]
。您实际上是在调用隐式toString()
by println()
,它调用getName()
. 您可以在此处找到此命名方案的文档:
https://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#getName()
推荐阅读
- java - 如何将泛型接口实现为非泛型类 Java
- entity-framework - 使用实体框架的主从自定义数据库更新序列
- javascript - jquery - 事件处理程序在粘贴到控制台时有效,但在通过 .js 文件包含时无效
- javascript - 如何从通过 JSP 加载的表单中获取表单值?
- javascript - 在浏览器吃豆人游戏中用 svg 图像替换 CanvasRenderingContext 矩形、形状
- typescript - VSCode 在重载时使用装饰器时抛出错误
- reactjs - Redux-Initial Api 调用不适用于动作创建者
- python - 翻转第 k 个有效位
- sql - 识别隐藏字符
- excel - 如何使用 for 循环检查单元格中的相等值?