And*_*mer 26 set intellij-idea code-inspection kotlin intellij-inspections
假设将源集映射src到目标集的以下Kotlin示例dst:
private val src: Set<String> = setOf("hello", "world")
private val dst: Set<Int> = src.map { it.length }.toSet()
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,IntelliJ的代码检查表明:集合上的调用链应该转换为'Sequence':
应用此建议会导致
private val dst: Set<Int> = src.asSequence().map { it.length }.toSet()
Run Code Online (Sandbox Code Playgroud)
这有什么好处?
yol*_*ole 15
在这种情况下,建议不是最理想的.重写此代码的正确方法(也不会导致任何IntelliJ警告)是:
src.mapTo(hashSetOf()) { it.length }
Run Code Online (Sandbox Code Playgroud)
这将避免创建一个随后将转换为集合的中间列表; 数据将立即添加到结果集中.
| 归档时间: |
|
| 查看次数: |
2795 次 |
| 最近记录: |