Kotlin 新语言特性
文章平均质量分 74
Kotlin 新语言特性
old_land
Don't worry be happy!
展开
-
Kotlin 1.7.0 的新特性
在1.7.0版本之前,Opt-in特性本身需要使用参数-opt-in=kotlin.RequiresOptIn来避免警告。然而,您仍然可以使用编译器参数-opt-in来选择其他注释进行Opt-in,针对整个模块。从1.7.0开始,如果常规类型推断在没有指定-Xenable-builder-inference编译器选项(在1.6.0中引入)的情况下无法获得关于类型的足够信息,则构建器推断将自动激活。从1.7.0版本开始,Kotlin的Opt-in需求已经稳定,并且不需要额外的编译器配置。原创 2023-04-18 14:47:09 · 1011 阅读 · 0 评论 -
Kotlin 1.6.0 的新特性
可以在builder lambda中调用返回尚未推断类型实例的函数,而无需指定1.5.30中引入的-Xunrestricted-builder-inference编译器选项。Kotlin 1.5.30引入了对递归泛型类型的类型推断的改进,使其仅基于对应类型参数的上界即可推断类型参数。使用-Xenable-builder-inference,如果常规类型推断无法获取关于类型的足够信息,则builder推断将自动激活。为了确保平滑的迁移,Kotlin 1.6.0 会对枚举、密封类或布尔类型的主题的非详尽的。原创 2023-04-17 18:40:49 · 1424 阅读 · 0 评论 -
Kotlin 1.5.0 的新特性
Kotlin接口现在可以使用密封修饰符,它在接口上的工作方式与在类上的工作方式相同:在编译时已知密封接口的所有实现。现在,密封类可以在同一编译单元和同一包中的所有文件中拥有子类。要在Java代码中使用Kotlin类作为记录,请将其作为数据类并使用@JvmRecord注释进行标记。直接的子类可以是顶层类,也可以嵌套在任意数量的其他命名类、命名接口或命名对象中。在Kotlin代码中,您可以像使用带有属性的典型类一样使用Java记录类。密封类的子类必须有一个正确限定的名称——它们不能是本地的或匿名的对象。原创 2023-04-17 17:59:50 · 412 阅读 · 0 评论