内容简介:Kotlin 1.5.0 稳定版已发布,此版本提供了稳定的语言特性,例如 JVM records、密封接口 (sealed interface)、内联类 (inline class),并引入了新的默认 JVM IR 编译器。据介绍,新的编译器与 Kotlin/Native 和 Ko...
Kotlin 1.5.0 稳定版已发布,此版本提供了稳定的语言特性,例如 JVM records、密封接口 (sealed interface)、内联类 (inline class),并引入了新的默认 JVM IR 编译器。据介绍,新的编译器与 Kotlin/Native 和 Kotlin/JS 编译器共享统一的管道和业务逻辑,因此 Kotlin 团队可同时为所有平台实现大多数功能、优化和错误修复。新的编译器还将允许开发者添加自定义处理和转换,这些处理和转换将自动在所有平台上运行。
Kotlin 1.5 主要变化
- 新增稳定的语言特性 - JVM records、密封接口 (sealed interface)、内联类 (inline class)
- 标准和测试库改进 - 稳定的无符号整数类型、Extensions for
java.nio.file.Path
,以及针对 String、Char 和 Duration API 的改进 - Kotlin/JVM 改进 - 新的默认 JVM IR 编译器
- Kotlin/Native 改进 - 针对 Linux 和 iOS 应用程序的更快的调试编译
- Kotlin/JS 的改进 - 将更多 JS 库迁移到新的 Kotlin/JS IR 编译器
下面简单介绍新增的语言特性。
支持 JVM records
JVM records 是 JVM 生态将要推出的重要更新,其类似于 Kotlin data 类,主要用作简单的数据持有者。 与 Java 的互操作性一直以来都是并且将永远作为 Kotlin 的优先考虑事项。 因此,Kotlin 代码可以“理解”新的 Java records,并将其视为具有 Kotlin 属性的类。 这类似于遵循 JavaBeans 惯例的常规 Java 类:
// Java
record Point(int x, int y) { }
// Kotlin
fun foo(point: Point) {
point.x // seen as property
point.x() // also works
}
出于互操作性,可以用@JvmRecord
注解data
类,生成新的 JVM records 方法:
@JvmRecord
data class Point(val x: Int, val y: Int)
密封接口和密封类的改进
使密封类时,它会将层次结构限制为已定义的子类,从而允许在when
分支中进行详尽的检查。在 Kotlin 1.4 中,密封类层次结构具有两个约束。 首先,顶层类不能是一个密封接口,应该是一个类。 其次,所有子类均应当位于同一文件中。
Kotlin 1.5 去除了这两个约束:您现在可以使一个接口密封。子类(包括密封类和密封接口)应与 super 类位于同一编译单元和同一软件包中,但现在可以位于不同文件中。
sealed interface Expr
data class Const(val number: Double) : Expr
data class Sum(val e1: Expr, val e2: Expr) : Expr
object NotANumber : Expr
fun eval(expr: Expr): Double = when(expr) {
is Const -> expr.number
is Sum -> eval(expr.e1) + eval(expr.e2)
NotANumber -> Double.NaN
}
密封类以及现在的密封接口对于定义抽象数据类型 (ADT) 层次结构非常实用。
下载地址:https://github.com/JetBrains/kotlin/releases/tag/v1.5.0
参考:https://blog.jetbrains.com/zh-hans/kotlin/2021/04/kotlin-1-4-30/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 稳定与非稳定版本软件的Docker Image构建策略
- Linux 内核版本那么多,你应该选择哪个稳定版本?
- ObjectiveSQL 稳定版本发布 1.4.0
- Snowy v1.5.2 稳定版本发布
- GoLand 2018.1 稳定版发布:重大更新版本
- Chrome 71 稳定版本更新,主打“滥用广告”过滤
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Adobe Flex 大师之路
2009-5 / 69.80元
《Adobe Flex大师之路》以Flex 3.0为基础,涵盖了Flex技术的核心内容。《Adobe Flex 大师之路》能够帮助您你学习并掌握使用Flex所需的牢靠和全面的知识基础,告诉您你如何把这些知识将之转化为代码,并在实际项目中变通应用。通过学习《Adobe Flex 大师之路》,您你可以利用Flex来构建企业级应用的表现层、改善应用的用户体验、集成企业端的复杂服务。这本书是为所有希望学习......一起来看看 《Adobe Flex 大师之路》 这本书的介绍吧!