{ /*do stuff*/ -6ren">
gpt4 book ai didi

android - 在 Kotlin 中调用 String 方法当 block

转载 作者:行者123 更新时间:2023-12-02 17:00:09 25 4
gpt4 key购买 nike

目前我有一个像这样的when block :

val foo = getStringFromBar()

when {
foo == "SOMETHING" -> { /*do stuff*/ }
foo == "SOMETHING ELSE" -> { /*do other stuff*/ }
foo.contains("SUBSTRING") -> { /*do other other stuff*/ }
else -> { /*do last resort stuff*/ }
}

有什么办法可以将其简化为这样的:

val foo = getStringFromBar()

when (foo) {
"SOMETHING" -> { /*do stuff*/ }
"SOMETHING ELSE" -> { /*do other stuff*/ }
.contains("SUBSTRING") -> { /*do other other stuff*/ } // This does not work
else -> { /*do last resort stuff*/ }
}

最佳答案

您可以使用with

试试这个方法

    with(foo) {
when {
equals("SOMETHING") -> println("Case 1")
equals("something",false) -> println("Case 2")
contains("SUBSTRING") -> println("Case 3")
contains("bar") -> println("Case 4")
startsWith("foo") -> println("Case 5")
else -> println("else Case")
}
}

关于android - 在 Kotlin 中调用 String 方法当 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com