天天看點

淺談Kotlin(六):data class的使用

使用data class的一大好處就是不用自己寫一堆toString()方法的代碼了。

一個簡單的類的寫法:

如果我們想列印這個類的一個對象的屬性值,一般直接調用toString()

但是如果不重寫,列印出來的就是對象的位址

那麼想要看到具體的資料就要重寫toString()方法

細看Java中也是如此寫法,但是當類的屬性值特别多的時候,toString()内容也會異常的多

Kotlin則提供data class的方式來解決這個問題:

則此時列印結果為:

可見data class 的<code>toString</code>函數會被複寫為列印具體屬性的值

data class使用的一些限制:

/***********************************************************************************/

深入學習data class 和 class的差別

第一條不再說明

components的用法為:

component1表示主構造方法中的第一個屬性,component2表示主構造方法中的第二個屬性,

若主構造方法中有n個參數,則提供component1...componentn

淺談Kotlin(六):data class的使用

copy的用法為:

以原來的對象為模闆拷貝一個新的對象,可以指定所有或部分參數的值

列印結果:

hashCode的用法為:

data類複寫<code>hashCode</code>函數 , 比較對象屬性的值 , 而非位址

非data類比較:

data類比較:

作者:聽着music睡

出處:http://www.cnblogs.com/xqxacm/

Android交流群:38197636

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。