Kotlin 2.4.0更新发布,编译时常量功能全面增强

发布时间:2026-07-02 23:34  浏览量:2

JetBrains近日发布了Kotlin 2.4.0版本,这是其面向JVM、原生、Wasm及Web应用开发的静态类型语言的最新更新。此版本重点引入了针对编译时常量的实验性改进,使数值类型与字符串类型的支持更加一致,操作也更加便捷。

编译时常量功能强化

Kotlin 2.4.0在编译时常量方面的实验性改进主要涵盖以下几个方向:新增对无符号类型运算的支持;新增针对字符串的标准库函数,包括.lowercase、.uppercase和.trim等;支持对枚举常量的.name属性及KCallable接口进行求值操作。为了明确标识哪些函数会在编译时进行求值,Kotlin 2.4.0引入了IntrinsicConstEvaluation注解。JetBrains同时提醒,部分函数目前已支持编译时求值但尚未添加该注解,后续版本将逐步完善这一工作。

JavaScript与TypeScript导出能力提升

Kotlin 2.4.0增强了对JavaScript和TypeScript的导出支持,新增了值类、接口和类型协变的导出能力,并在内联JavaScript代码时支持ES2015特性。

支持Java 26字节码生成

Kotlin编译器现已可以生成包含Java 26字节码的类文件,进一步扩展了与Java新版本的互操作能力。

WebAssembly组件模型实验性支持

此版本还提供了对WebAssembly组件模型的实验性支持。该提案定义了一种通过标准化接口和类型从Wasm模块构建组件的方式,旨在推动Wasm从底层二进制指令格式演进为一套可组合、语言无关的可复用组件体系。

IDE集成与后续更新

Kotlin 2.4.0已集成至IntelliJ IDEA和Android Studio开发环境中。与此同时,Kotlin 2.4.20 Beta1已于6月24日发布,向标准库新增了StackTraceRecoverable接口。该接口改善了与kotlinx.coroutines库的集成体验,允许用户在无需依赖kotlinx.coroutines的情况下,自定义异常实例的创建方式,以用于堆栈追踪恢复。此外,Kotlin 2.4.20 Beta版本中的构建工具API新增了对Kotlin/JS、Kotlin/Wasm以及Kotlin元数据目标的支持。

Q&A

Q1:Kotlin 2.4.0对编译时常量做了哪些改进?

A:Kotlin 2.4.0引入了编译时常量的实验性改进,新增对无符号类型运算的支持,以及.lowercase、.uppercase、.trim等字符串标准库函数的编译时求值能力,还支持枚举常量.name属性及KCallable接口的求值。同时引入了IntrinsicConstEvaluation注解,用于明确标识哪些函数在编译时执行,但目前部分函数尚未添加该注解,后续版本会陆续补全。

Q2:Kotlin 2.4.0在WebAssembly方面有什么新进展?

A:Kotlin 2.4.0实验性支持WebAssembly组件模型。该模型提供了一种通过标准化接口和类型从Wasm模块构建组件的方式,目标是让WebAssembly从底层二进制格式升级为可组合、跨语言的组件化系统,有助于提升Wasm生态的模块化和互操作性。

Q3:Kotlin 2.4.20 Beta新增了什么功能?

A:Kotlin 2.4.20 Beta1于6月24日发布,主要新增了StackTraceRecoverable接口。该接口可改善与kotlinx.coroutines库的集成,允许用户自定义异常实例的创建方式用于堆栈追踪恢复,且无需额外依赖kotlinx.coroutines库。此外,构建工具API也新增了对Kotlin/JS、Kotlin/Wasm和Kotlin元数据目标的支持。