ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

第063篇 类型推断与基本类型:Kotlin 没有隐式拓宽

第063篇 类型推断与基本类型:Kotlin 没有隐式拓宽 类型推断与基本类型放在一起讲,是因为它们在 Kotlin 里被重新设计过。Kotlin 取消了基本类型与包装类型在声明处的区分,Int就是int,Int?才是包装的Integer。 这一改带来的收益(无装箱陷阱、统一的equals/toString语义)背后有一整套机制,而 Android 上还有一层特殊考虑:Kotlin 的基本类型在字节码层面会重新装箱成Integer。这题答好,靠的是把"语言层的简化"和"运行层的现实"分开讲清。先把结论放在前面:Kotlin 只有一种数值类型表示,Int/Long/Double等对应 JVM 的基本类型,Int?/Long?等对应包装类型。可空性是唯一的分界线——不可空用基本类型,可空用包装类型。 由此推出几条实用规则:数字字面量在下划线与进制上的可读性优化(1_000_000、0xFF、0b1010)、算术运算不做隐式提升(Int + Long编译报错,必须显式toLong())、以及数值转换方法名(toInt()/toLong()/toDouble())把 Java 里混乱的(int) long
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进