自从Google于2017年正式宣布Kotlin是Android开发的首选语言以来,越来越多的开发者开始使用Kotlin。而数据类(data class)是Kotlin的一大特色。 他们省去了手动编写大量模板代码的工作,例如equals(),hash()和toString()的覆写都不是必须的了。数据类会自动提供正确的覆写。但是,在实际应用中,也会出现例外的情况。让我们看下面这段代码:
data class NumArray(val name: String, val values: IntArray)
对上述代码编译之后,会产生如下等价的Java代码:
public class NumArray {
private final String name;
private final int[] values;
...
@Override
public boolean equals