Kotlin 为什么我会从下面的逻辑中得到错误的结果?
为什么我会从下面的逻辑中得到一个falseKotlin 为什么我会从下面的逻辑中得到错误的结果?,kotlin,Kotlin,为什么我会从下面的逻辑中得到一个false 这是非常简单的逻辑。因为结果不是空的(真),所以我认为结果会是真的。 有人知道为什么吗 @Test internal fun test() { val result = createBoolean() val recentYear : Int = 200 val finalResult = result ?: recentYear == 200 print(finalR
这是非常简单的逻辑。因为结果不是空的(真),所以我认为结果会是真的。 有人知道为什么吗
@Test
internal fun test() {
val result = createBoolean()
val recentYear : Int = 200
val finalResult = result ?: recentYear == 200
print(finalResult) // result is false
}
private fun createBoolean(): Boolean? {
return true
}
Elvis运算符优先于相等运算符。看
除代数运算符外,运算符优先级因语言而异,因此很难记住。我建议在出现歧义时使用括号。Elvis运算符优先于相等运算符。看 除代数运算符外,运算符优先级因语言而异,因此很难记住。我建议在出现歧义时使用括号。我认为它被解析为(result?:recentYear)==200我认为它被解析为(result?:recentYear)==200