美文网首页学习学习之鸿蒙&Android
用 Kotlin 写 Android 15—解构声明

用 Kotlin 写 Android 15—解构声明

作者: jkwen | 来源:发表于2021-06-27 11:57 被阅读0次

    解构声明

    允许你展开一个复合值,从而可以一次性初始化多个变量。

    之前遇到一个场景,两个数据对象进行赋值转换,实现上没有想到什么比较好的方法,只好一个字段一个字段的对照着赋值,

    ClzB b = new ClzB();
    b.var1 = a.var1;
    b.var2 = a.var2;
    b.var3 = a.var3;
    //如果有多个值就这样依次赋值,搞得代码都很难看
    //当然也可以通过构造方法传参,但依然不太好看
    

    解构声明就可以运用在这个场景。另外一个类似的场景,就是用在函数返回上,有些时候需要返回多个值,这种情况其实可以利用 Pair,但如果 3 个或者多个,则可以利用自定义数据类型加解构。

    它所用到的符号是(),对应的函数名是 componentN, N 就是位置的坐标,例如 component1 就表示 () 内的第一个变量对应的解构。所以如果 (x, y, z) 那么就要对应 component1, component2, component3。

    最后一种场景就是在循环遍历里的运用。典型的就是 Map 遍历,

    for((key, value) in map) {
        //在 kotlin 里可以利用解构对 map 进行元素的遍历
    }
    

    解构声明的优点在于可以简化多变量赋值以及组合元素的遍历,在需要的场景上用起来还是有点好处的。

    参考内容

    「Kotlin 实战」

    相关文章

      网友评论

        本文标题:用 Kotlin 写 Android 15—解构声明

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