美文网首页Android开发
Kotlin的解构声明

Kotlin的解构声明

作者: wmjwmj | 来源:发表于2019-03-29 10:06 被阅读14次

将一个对象解构成多个变量

一、解构声明

data class Person(val name: String, val age: Int)

fun main() {
    val person = Person("wmj", 25)

    // 解构声明
    val (name, age) = person
    // 等价于
//    val name = person.name
//    val age = person.age
}

解构声明会被编译成如下代码

    val name = person.component1()
    val age = person.component2()

使用解构声明时,对象需要提供 componentN 函数,componentN 函数需要用 operator 关键字修饰。data class 默认声明了 componentN 函数

class Student(val name: String, val age: Int){

    operator fun component1(): String{
        return name
    }

    operator fun component2(): Int{
        return age
    }
}

fun main() {
    val (name, age) = Student("wmj",25)
}

二、解构声明例子

  • List
    val list = listOf(Person("wmj", 25))
    for ((name, age) in list) {

    }

    // kotlin1.1 以后,用下划线替换不使用的属性
    for ((_, age) in list) {

    }
  • Map
    val map = mapOf(Pair("key", "value"))
    for ((key, value) in map) {
        
    }
  • Lambda
    map.mapValues { (key, value) ->  key + value }

相关文章

  • 22.Kotlin解构声明详解

    Kotlin解构声明详解 有时把一个对象解构成很多变量会很方便,例如: 这种语法称为解构声明 。一个解构声明同时创...

  • Kotlin 解构声明

    一、什么是解构声明 在 Koltin 中可以把一个对象赋值给多个变量,这种操作叫做解构声明(Destructuri...

  • kotlin 解构声明

    将对象解构成多个变量,使用起来更加方便。 声明data class 使用 多余变量用不到可以用下划线省略 对于da...

  • Kotlin- 解构声明(Destructuring Decla

    (翻译) 解构声明 解构声明是Kotlin中另一个重要的特性。我们可以利用这个特性来编写更好的应用程序。 解构声明...

  • Kotlin的解构声明

    将一个对象解构成多个变量 一、解构声明 解构声明会被编译成如下代码 使用解构声明时,对象需要提供 componen...

  • Kotlin-解构声明

    https://blog.csdn.net/IO_Field/article/details/53377547

  • Kotlin 解构声明 详解

    引言 解构声明是将一个对象 解构成 N 个变量,一个解构声明同时创建多个变量 如何使用解构声明 直接将对象解构为N...

  • Kotlin中的解构声明

    前言 Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称之为Android世界的Swift,在Goo...

  • Kotlin 解构声明和元组

    一. 解构声明简介 解构声明,可以将一个对象解构成多个变量,像下面这样 一个解构声明同时创建多个变量,并且可以单独...

  • Kotlin与Java:解构声明

    解构声明 在现代语言中常常拥有结构声明用语简化代码,例如JavaScript与Kotlin,但是在Java中却没有...

网友评论

    本文标题:Kotlin的解构声明

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