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
相关推荐
忧郁的Mr.Li2 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
玄同7652 小时前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
czy87874752 小时前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
消失的旧时光-19432 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
yq1982043011562 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class2 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
有位神秘人2 小时前
kotlin与Java中的单例模式总结
java·单例模式·kotlin
Jinkxs2 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&2 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
golang学习记2 小时前
IntelliJ IDEA 2025.3 重磅发布:K2 模式全面接管 Kotlin —— 告别 K1,性能飙升 40%!
java·kotlin·intellij-idea