美文网首页kotlin
Kotlin-简约之美-基础篇(五):data类和enum类

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

作者: 门心叼龙 | 来源:发表于2020-02-27 19:13 被阅读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的修饰符使用

    • 1.常见用法:
    enum class Direction {
        NORTH, SOUTH, WEST, EAST
    }
    
    • 2.有成员属性时:
    enum class Color(val rgb: Int) {
        RED(0xFF0000),
        GREEN(0x00FF00),
        BLUE(0x0000FF)
    }
    

    打印成员的值

    print(Color.RED.rgb)
    

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/zgbxhhtx.html