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
相关推荐
白鲸开源7 小时前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
白鲸开源7 小时前
一文读懂DolphinScheduler插件机制:如何轻松扩展任务类型与数据源
java·架构·github
墨狂之逸才7 小时前
Android TV WebView 遥控器按键处理:从全透传到白名单
android
用户2986985301412 小时前
Java 实现 Word 文档文本查找与高亮标注
java·后端
宇宙之一粟12 小时前
乐企版式文件生成平台
java·后端·python
plainGeekDev13 小时前
MVC 写法 → MVVM
android·java·kotlin
SL_staff13 小时前
3周搭完MES系统:JVS低代码+JVS-IoT物联网的实战记录
java·前端·低代码
恋猫de小郭13 小时前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
MacroZheng13 小时前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
三少爷的鞋15 小时前
“结构化”这个词,本质上就是——把混乱的东西变成有组织、有规则、有边界的东西
android