繁体   English   中英

Kotlin 中 String.valueOf() 的等价物是什么?

[英]What is the eqivalent of String.valueOf() in Kotlin?

Kotlin 中 String.valueOf() 的等价物是什么? 我想在 kotlin 代码中转换 java 代码。

var count = 0
for(i in 0 until rings.length){
    if(rings.contains("R"+ String.valueOf(i)) && rings.contains("G"+ String.valueOf(i)) && rings.contains("B"+ String.valueOf(i)))
       count++
}
 return count

我检查了 kotlin 文档,但我不太了解。 这有点令人困惑。

如何使用Kotlin 的字符串模板"$i"

"R"+ String.valueOf(i)

变成:

"R$i"

String.valueOf(X) 通过调用 X.toString() 将 X 对象转换为字符串,如果 X 为 null,则返回“null”。

您的代码尝试将 i 转换为字符串,但 i 不能为 null,因此您可以将其替换为 to.toString()

rings.contains("R"+i.toString()) && rings.contains("G"+i.toString()) && rings.contains("B"+i.toString())

Kotlin 允许您将字符串与任何类型的对象或 null 连接起来,因此可以简化表达式:

rings.contains("R"+i) && rings.contains("G"+i) && rings.contains("B"+i)

另一个变体是字符串插值:

rings.contains("R$i") && rings.contains("G$i") && rings.contains("B$i")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM