数据类是一种非常强大的类,定义一个新的数据类非常简单:
package com.zhoujian.kotlindemo import java.util.* /** * Created by zhoujian on 2017/5/24. */ data class Forecast(val date: Date, val tem: Float,val detais: String) { }通过数据类,我们可以方便地得到很多有趣的函数
equals(): 它可以比较两个对象的属性来确保他们是相同的。hashCode(): 我们可以得到一个hash值,也是从属性中计算出来的。copy(): 你可以拷贝一个对象,可以根据你的需要去修改里面的属性。举个例子,如果我们需要修改Forecast中的temperature(温度),我们可以这么做:
val f1 = Forecast(Date(),22f,"阳光明媚") val f2 = f1.copy(tem = 25f) Log.i("MainActivity",f1.toString()) Log.i("MainActivity",f2.toString()) Forecast(date=Thu May 25 01:21:40 EDT 2017, tem=22.0, detais=阳光明媚) 05-25 01:21:41.097 1870-1870/? I/MainActivity: Forecast(date=Thu May 25 01:21:40 EDT 2017, tem=25.0, detais=阳光明媚)