当前位置: 首页 > 知识库问答 >
问题:

Kotlin等价三元算子[复本]

姬高澹
2023-03-14

因此,在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个答案

和嘉澍
2023-03-14

Kotlin没有三元运算符。

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

在Kotlin中,if是一个表达式,即它返回一个值。因此不存在三元运算符(condition?then:else),因为普通if在这个角色中工作得很好。

 类似资料:
  • 我能用java写 甚至我可以在方法参数中传递它。 我怎么把它转换成Kotlin?在Kotlin中写同样的东西时显示错误。

  • 此表达式在Kotlin中的等价物是什么。 这是在给错误。

  • 我们如何在Kotlin中使用三元运算符? 我尝试过使用三元运算符,其方式与java中使用的方式相同,但我在其中发现了一个lint错误:

  • 有没有可能改变这一点: 到三元运算符?

  • 我想将名称(ClassName)更改为一个不同的名称,例如(ClassA)。我可以通过编写SPARQL查询来实现吗? 作为一个工具包,我正在使用gena,我不确定我所询问的是可能的还是不可能的!

  • 不情愿的kotlin新来的。 是否存在kotlin等价的?:java运算符? 在Kotlin中寻找这样的写法: