Kotlin 2.3.20已成为JetBrains构建的编程语言的最新版本,新增了C或Objective-C库的互操作模式以及基于属性名称的解构声明功能。开发者现在还可以在JavaScript和TypeScript中使用Kotlin接口。
这项Java竞争语言的更新于3月16日发布。开发者可以在Kotlin官网找到入门指南。通过2.3.0版本中的Kotlin Native技术,开发者可以将Kotlin代码编译为原生二进制文件,并尝试针对Objective-C和C库的实验性互操作模式。这项功能面向在Kotlin多平台库或应用程序中使用C或Objective-C库的开发者。
一般来说,Kotlin Native支持将C和Objective-C库导入到Kotlin中。然而,对于KMP库而言,该功能目前受到KMP与旧编译器版本兼容性问题的影响。因此,如果使用某个Kotlin版本编译的KMP库被发布,导入C或Objective-C库可能会导致该Kotlin库无法在使用早期Kotlin版本的项目中使用。为了解决这个问题和其他相关问题,Kotlin团队一直在修订互操作机制。从Kotlin 2.3.20开始,开发者可以通过编译器选项尝试新模式。
Kotlin 2.3.20还引入了基于名称的解构声明,通过匹配变量与属性名称来工作,而不是依赖基于位置的componentN()函数。JetBrains表示,此前解构声明使用的是基于位置的解构。
该更新解除了在JavaScript和TypeScript端实现Kotlin接口的限制。JetBrains说,以前只能将Kotlin接口导出为TypeScript接口,而从TypeScript实现这些接口是被禁止的。此外,从Kotlin 2.3.20开始,Kotlin/JS支持基于Rust的SWC编译平台。这有助于将较新版本的JavaScript和TypeScript代码转译为较旧且更兼容的JavaScript代码。
Kotlin 2.3.20是继2025年12月发布的Kotlin 2.3.0和2月发布的Kotlin 2.3.10之后的最新版本。Kotlin 2.3.20的其他更新包括:
在Java互操作性方面,编译器现在可以识别Vert.x @Nullable注解进行空值检查。该版本还增加了对Java @Unmodifiable和@UnmodifiableView注解的支持,将注解集合在Kotlin中视为只读。
在Maven构建工具项目中设置Kotlin变得更加容易。现在,Kotlin支持源根目录和Kotlin标准库的自动配置。
Kotlin 2.3.20与Gradle构建工具7.6.3至9.3.0版本完全兼容。开发者也可以使用最新Gradle发布版本,但这样做可能会导致弃用警告,某些新的Gradle功能可能无法正常工作。
用于生成和使用Java Lombok声明的Lombok编译器插件已升级至Alpha状态。计划让这项功能达到生产就绪状态,但目前仍在开发中。
引入了Map.Entry.copy()扩展函数,用于创建Map.Entry的不可变副本。该函数允许通过首先复制条目来重用从Map.entries获得的条目,然后修改映射。
Q&A
Q1:Kotlin 2.3.20新增了什么重要的互操作功能?
A:Kotlin 2.3.20新增了C或Objective-C库的实验性互操作模式,主要面向在Kotlin多平台库或应用程序中使用C或Objective-C库的开发者。同时解除了在JavaScript和TypeScript端实现Kotlin接口的限制,开发者现在可以从TypeScript实现Kotlin接口。
Q2:什么是基于名称的解构声明功能?
A:基于名称的解构声明是通过匹配变量与属性名称来工作,而不是依赖基于位置的componentN()函数。这改变了此前解构声明使用基于位置的解构方式,使得变量匹配更加直观和灵活。
Q3:Kotlin 2.3.20对构建工具的兼容性如何?
A:Kotlin 2.3.20与Gradle构建工具7.6.3至9.3.0版本完全兼容,也可以使用最新的Gradle发布版本。在Maven方面,现在支持源根目录和Kotlin标准库的自动配置,使得在Maven项目中设置Kotlin变得更加容易。
好文章,需要你的鼓励
研究人员意外发现,标准MOSFET晶体管可同时模拟神经元和突触行为,形成"神经突触随机存取存储器"(NSRAM)。该技术仅需一至两个晶体管即可实现传统需数十乃至数百个元件才能完成的神经信号处理,且与现有硅基制造工艺完全兼容,良率达100%。未来有望应用于边缘AI及高能效神经形态芯片,长远或可挑战GPU地位。
牛津大学提出PHYSIFORMER,一种扩散变换器模型,通过三维网格顶点轨迹直接在世界坐标空间预测刚性与弹性物体的物理运动,一次性生成全序列轨迹,超越自回归基线。
本文提出一种评估人工智能风险的新方法,借鉴生态学与演化论视角,从理论生态模型中推导出三项风险指标,涵盖种群模型与生态系统模型。研究旨在为AI治理策略提供量化工具,并对分析局限性及政策改进方向进行了深入探讨,为构建更科学的AI风险评估体系提供参考框架。
研究发现主流奖励模型对同等质量答案给出差异悬殊的分数,并提出"奖励聚类"算法通过蒙特卡洛随机失活将连续分数离散化,在不重训模型的前提下有效减少AI训练中的奖励作弊现象。