Kotlin相当于三元运算符

时间:2016-01-21 22:53:15

标签: ternary-operator kotlin

所以在java中我们有三元运算符(?),它有时可以很容易地通过if-else内联计算一些值。例如:

myAdapter.setAdapterItems(
            textToSearch.length == 0
            ? noteList
            : noteList.sublist(0, length-5)
)

我知道kotlin中的等价物是:

myAdapter.setAdapterItems(
                if(textToSearch.length == 0)
                    noteList
                else
                    noteList.sublist(0, length-5) 
)

但我曾经习惯于喜欢Java中的三元运算符,用于短表达式条件,以及将值传递给方法时。有没有任何Kotlin等同物?

1 个答案:

答案 0 :(得分:13)

Kotlin没有三元运营商。

https://kotlinlang.org/docs/reference/control-flow.html

  

在Kotlin中,if是一个表达式,即它返回一个值。因此,没有三元运算符(condition?then:else),因为普通的if在这个角色中工作正常。

您可以找到更详细的解释here