前言

会自动帮我们生成get,set方法,减少代码编写量,更轻量级别的实体类。

使用说明:

  1. data class User(val name: String, val age: Int)

会自动生成一下方法:

  1. - equals()/hashCode() pair;
  2. - toString() of the form User(name=John, age=42)”;
  3. - componentN() functions corresponding to the properties in their order of declaration;
  4. - 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