Kotlin 面向对象 - 装箱与拆箱

装箱与拆箱

  • 在 Kotlin 中,装箱与拆箱涉及基本类型与它们的可空引用类型或泛型集合中的类型转换
  1. 基本类型在大多数情况下直接对应 JVM 的原始类型,不涉及装箱

  2. 当它们被用作可空类型或放入泛型集合时,会自动装箱为对应的包装类

kotlin 复制代码
// 基本类型,不装箱
val a: Int = 100

// 可空类型,装箱
val b: Int? = 100

// 泛型集合,装箱
val list: List<Int> = listOf(100)

// 基本类型数组,不装箱
val array: IntArray = IntArray(1_000_000) { it }
  • Kotlin 会自动处理装箱和拆箱
kotlin 复制代码
// 自动装箱

val num: Int = 42
val boxedNum: Int? = num
kotlin 复制代码
// 自动拆箱

val boxedNum: Int? = 42
val num: Int = boxedNum ?: 0
相关推荐
大、男人10 小时前
python之Callable
开发语言·python
tangweiguo0305198710 小时前
在Windows上编译OpenCV Android原生库全记录
android
天荒地老笑话么10 小时前
IntelliJ IDEA 运行 Tomcat 报错:Please, configure Web Facet first!
java·前端·tomcat·intellij-idea
cly110 小时前
使用 JAR 包部署 Java 应用(以 NginxWebUI 为例)
java·开发语言·jar
是一个Bug10 小时前
Java后端开发面试题清单(50道) - 分布式基础
java·分布式·wpf
有什么东东10 小时前
java-枚举类、抽象类、接口、内部类
java·开发语言
bxlj_jcj10 小时前
使用 Arthas + Heapdump + MAT 三步定位 Java 内存泄漏
java·开发语言·python
大猫和小黄10 小时前
Java ID生成策略全面解析:从单机到分布式的最佳实践
java·开发语言·分布式·id