前言
会自动帮我们生成get,set方法,减少代码编写量,更轻量级别的实体类。
使用说明:
data class User(val name: String, val age: Int)
会自动生成一下方法:
- equals()/hashCode() pair;- toString() of the form “User(name=John, age=42)”;- componentN() functions corresponding to the properties in their order of declaration;- copy() function (see below).
注意事项
- Data Class 是一个final类
- 构造函数中至少有一个参数
- 构造函数中的参数都需要声明var 或者val
- data class不能是抽象的,可继承的,或者内部类,因为这是一个final类
- 不能够为componentN()和copy()显示实现 (componentN 会根据构造方法中的参数,自动生成component1-componentN 的方法,所以不需要显示实现,如果显示实现,会提示报错)
- 如果需要显示的声明一个无参的构造方法,需要给构造方法里面的参数设置默认值
————————————————
版权声明:本文为CSDN博主「我只是个菜鸟」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/xiaxiayige/article/details/80233648
