当前位置:  开发笔记 > 编程语言 > 正文

为什么我不能说:val list = properties.map((key,value) - >"$ key = $ value")

如何解决《为什么我不能说:vallist=properties.map((key,value)->"$key=$value")》经验,为你挑选了1个好方法。

我可以说在科特林

//sweet
for ((key,value) in System.getProperties())
    println("$key = $value")

但我不能说

//sour
val properties = System.getProperties()
val list = properties.map((key,value) -> "$key = $value")

什么是Scot中的Kotlin等价物properties.map{case (key, value) => s"$key = $value"}



1> mfulton26..:

在Kotlin 1.0中你可以说:

val properties = System.getProperties()
val list = properties.map { "${it.key} = ${it.value}" }

如果您希望将地图条目解压缩为单独的值,您可以说:

val properties = System.getProperties()
val list = properties.map { val (key, value) = it; "$key = $value" }

在Kotlin 1.1中,您现在可以使用解构声明语法来解包传递给lambda的参数"(Kotlin 1.1中的新功能 - Kotlin编程语言):

val properties = System.getProperties()
val list = properties.map { (key,value) -> "$key = $value" }


这里提到:http://blog.jetbrains.com/kotlin/2015/03/kotlin-m11-is-out/"Lambda Syntax Restricted(for future enrichment)"部分
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有