美文网首页
10.数据类

10.数据类

作者: 学吉他的袁先生 | 来源:发表于2020-07-28 14:57 被阅读0次

    1.对应java中的javabean,主动生成hashcode,toString,copy等方法
    2.主构造器里面有多少个成员属性,就会生成多少个component方法

    data class Country(val id: Int, val name: String)
    
    fun main() {
        val china = Country(0, "中国")
        println(china.id)
        println(china.name)
        println(china.component1())
        println(china.component2())
    }
    

    还可以这样子创建对象

    val (id, name) = Country(0, "中国")
    println(id)
    println(name)
    

    下面的集合的遍历,就是这样子写法

    for ((index,value) in args.withIndex()){
        println(index)
        println(value)
    }
    

    args.withIndex()的源码

    public fun <T> Array<out T>.withIndex(): Iterable<IndexedValue<T>> {
        return IndexingIterable { iterator() }
    }
    

    IndexedValue源码

    //Kotlin 中可以声明泛型类型是协变还是逆变的. out 修饰类型参数是协变的, in 修饰的类型参数支持逆变.
    public data class IndexedValue<out T>(public val index: Int, public val value: T)
    

    相关文章

      网友评论

          本文标题:10.数据类

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