使用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

copy的用法為:
以原來的對象為模闆拷貝一個新的對象,可以指定所有或部分參數的值
列印結果:
hashCode的用法為:
data類複寫<code>hashCode</code>函數 , 比較對象屬性的值 , 而非位址
非data類比較:
data類比較:
作者:聽着music睡
出處:http://www.cnblogs.com/xqxacm/
Android交流群:38197636
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。