在Kotlin中,數(shù)據(jù)類通過(guò)使用data class
關(guān)鍵字來(lái)定義
data class Person(val name: String, val age: Int)
在這個(gè)例子中,我們定義了一個(gè)名為Person
的數(shù)據(jù)類,它有兩個(gè)屬性:name
和age
。data class
會(huì)自動(dòng)生成以下功能:
equals()
方法,用于比較兩個(gè)數(shù)據(jù)類實(shí)例是否相等。hashCode()
方法,用于計(jì)算數(shù)據(jù)類實(shí)例的哈希值。toString()
方法,用于返回?cái)?shù)據(jù)類實(shí)例的字符串表示形式。當(dāng)你創(chuàng)建一個(gè)數(shù)據(jù)類實(shí)例時(shí),主構(gòu)造函數(shù)會(huì)自動(dòng)被調(diào)用。例如:
val person = Person("Alice", 30)
如果你需要自定義構(gòu)造函數(shù)或者添加其他功能,可以在數(shù)據(jù)類中顯式地定義它們。但是,這樣做會(huì)使得該類不再是一個(gè)純粹的數(shù)據(jù)類,因?yàn)樗鼘恍┻壿嬏幚怼T谶@種情況下,你可能需要考慮使用普通的類(使用class
關(guān)鍵字定義)來(lái)代替數(shù)據(jù)類。