Kotlin 数据类,在 Kotlin 中,您可以创建一个data
类来保存数据。您希望将类标记为data
的原因是让编译器知道您正在创建此类来保存数据,然后编译器会自动为您的数据类创建多个函数,这将有助于管理数据。在本指南中,我们将学习数据类和编译器自动生成的函数。
数据类学生:
在 Kotlin 中自动生成数据类的函数
现在我只是在这里提到函数的名称,我们将在示例的帮助下看到它们中的每一个。
equals()
hashCode()
toString()
copy()
componentN()
Kotlin 数据类要求
为了将类标记为数据,该类必须满足某些要求。要求如下:
- 数据类的主构造函数必须至少有一个参数。此外,参数标记为
val
或var
。 -
类不能标记为开放,抽象,密封或内部。
-
该类可以扩展(继承)其他类,它还可以实现其他接口。
Kotlin 数据类示例
在下面的示例中,我们有一个Student
类,我们将其标记为数据类。由于我们已将此类声明为data
,因此编译器已自动为此类生成了多个函数,如copy()
,toString()
,equals()
等,我们将在接下来的几个示例中讨论这些函数。
输出:
数据类hashCode()
和equals()
方法
如果两个对象在 kotlin 中相同,那么它们具有相同的哈希码,我们可以使用hashCode()
方法获得。
方法equals()
返回true
或false
。如果两个对象的hashCode()
相等,则equals()
返回true
,否则返回false
。
输出:
数据类copy()
方法
通过在数据类中使用copy()
方法,我们可以复制其他对象的一些属性。让我们举个例子。这里我们有一个Student
类的对象stu
,其中包含学生"Steve"
的名称,年龄和主题细节,我们创建了另一个名为"Lucy"
的对象stu2
并使用数据类的copy()
方法,复制了stu
对象的年龄和主题细节。
输出:
数据类toString()
方法
data
类的toString()
方法返回对象的String
表示形式。
输出:
数据类component()
方法
数据类的componentN()
方法将对象解构为多个变量。在下面的例子中,我们有一个Student
类的对象stu
,我们使用componentN()
方法将对象解构为变量。component1()
方法返回对象的第一个属性的值,component2()
返回第二个属性的值,依此类推。
输出: