在Kotlin中选择“何时”与“ if / else”的标准是什么?

问题描述 投票:1回答:1

我正在进行从Java到Kotlin的转移,并了解Java开关和Kotlin when语句之间的差异。

我的问题是,当您在一系列“ if”和“ else if”块中选择“ when”时,差异是否会改变标准?

例如,在Java中,当存在5个或更多情况时,“ switch”通常比“ else-ifs”更有效,否则,大致相当。当语句为布尔值时,通常首选If-else。在科特林是否类似?在编写代码时,是否还有其他与Java不同的原因我应该考虑-例如可读性标准等。

我希望获得答案或与该主题进行更深入阅读的链接-我一直在努力寻找能够进行良好成本效益分析的任何资源。

java if-statement kotlin switch-statement
1个回答
1
投票

相对于Java,Kotlin的好处是concise语法

当有更好的设计时。比传统的交换机更简洁,功能更强大]

还有readable与其他情况有关:

什么时候可以不带参数地使用它。在这种情况下,它充当nicer if-else chain:条件是布尔表达式。与往常一样,选择匹配的第一个分支。假设这些是布尔表达式,则意味着选择了结果为True的第一个条件。

when {
    number > 5 -> print("number is higher than five")
    text == "hello" -> print("number is low, but you can say hello")
}

优点是,与[if-else语句链相比],[[表达式更清晰,更易于理解]。

© www.soinside.com 2019 - 2024. All rights reserved.