繁体   English   中英

Java 记录与 Kotlin 数据类

[英]Java Records vs Kotlin Data Classes

Java 14 提供了一个名为Records的新功能,可帮助创建 javabean。

我已经使用 Kotlin 好几次了,当然,Java Records 让我想起了Data Classes

它们完全相似吗? 或者除了语言语法之外,它们之间是否存在根本差异?

这是一篇关于所有这些差异的好文章。

总之:

相似之处

  • 生成的方法: equalshashCodetoString
  • 生成的构造函数
  • 生成的 getter(但 Kotlin getter 被称为o.name ,而 Java 使用o.name()
  • 可以修改规范构造函数
  • 可以添加额外的方法

差异

Kotlin 的数据类支持许多其他小东西:

数据类 (Kotlin) 记录(Java)
copy方法更容易创建对象 copy方法
变量可以是varval 变量只能是final
可以从其他非数据类继承 没有继承
可以定义非构造函数可变变量 只能定义静态变量

两者都非常适合减少代码膨胀。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM