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
相关推荐
Hello.Reader8 小时前
双卡 A100 + Ollama 最终落地手册一键部署脚本、配置文件、预热脚本与 Python 客户端完整打包
开发语言·网络·python
天***88528 小时前
安卓KMPlayer安卓版播放器,支持AC-3、WMA、MP3、AAC
android·aac
Rsun045518 小时前
SpringBoot + Cursor 最佳提示词工程手册
java·spring boot·后端
cch89188 小时前
汇编VS C++:底层控制与高效开发之争
java·开发语言
openallzzz8 小时前
版本赶工期可临时扩容:模块开发、联调、交接一体化
java·摸鱼·外包
后端AI实验室8 小时前
裁员后我被迫负责运维,用AI从0搭建了可观测性平台
java·ai
lifewange8 小时前
代码托管平台
开发语言
yangyanping201088 小时前
Go语言学习之配置管理库Viper
开发语言·学习·golang
橘子编程8 小时前
UniApp跨端开发终极指南
开发语言·vue.js·uni-app
LJianK18 小时前
Java类的实例化对象,和引用
java