Tag: 三元运算符

为什么Kotlin不支持“三元操作符”

解释:这个问题更多的是关于Kotlin的设计意图。 许多表达式语言同时支持Ternary operator和if expression [例如, Ruby,Groovy 。] 首先,我知道Groovy支持Ternary operator和Elvis operator : Groovy中的三元运算符 。 所以我不认为这是一个语法问题。 然后官方文件说: 在Kotlin中,如果是一个表达式,即它返回一个值。 因此没有三元运算符(condition?then:else),因为普通的如果在这个角色中工作的很好。 这并不能说服我。 因为Kotlin支持普通的Elvis operator在那个角色中工作得很好。 我认为ternary operator有时比普通的好,但是我想知道为什么Kotlin不支持ternary operator ?

Kotlin相当于三元运算符

所以在java中,我们有三元运算符(?),它有时很容易通过if-else inlines来计算一些值。 例如: 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等价物?