kotlin

Kotlin-简约之美-基础篇(五):data类和enum类

2020-02-27  本文已影响0人  门心叼龙

@[toc]

data类

在Java中,我们在信息类创建信息类时总是伴随大量getter/setter方法,虽然可以用工具自动生成,但也影响美观。Kotlin中使用data类型帮助我们解决了这个问题。

data class User(
        var name: String,
        var age: Int
)

在编译时,根据主构造器中的参数会自动生成getter/setter,hashcode(),toString(),equals(),copy()等方法。
我们无法直接调用getter/setter 方法,但我们对它的操作上本质上都是通过调用
getter/setter方法实现的。

data class User(
        var name: String,
        var age: Int
)

设置和修改变量的值

var user = User("mao", 18)
user.name = "zhang"
user.age = 3

copy()
当我们想将对象复制一份时,可用copy()方法:

var user = User("mao", 18)
var user2 = user.copy()

如果想改变某个变量:

var user=User("mao",18)
var user2=user.copy(age=100)

enum类

与java不同,Kotlin中enum当做class的修饰符使用

enum class Direction {
    NORTH, SOUTH, WEST, EAST
}
enum class Color(val rgb: Int) {
    RED(0xFF0000),
    GREEN(0x00FF00),
    BLUE(0x0000FF)
}

打印成员的值

print(Color.RED.rgb)
上一篇下一篇

猜你喜欢

热点阅读