提问人:Junbeom Jeon 提问时间:11/8/2023 最后编辑:deHaarJunbeom Jeon 更新时间:11/8/2023 访问量:33
为什么 Kotlin 布尔类型扩展函数返回的与我猜的不同?
why does the Kotlin boolean type extension function return different from I guess?
问:
我是新手,正在学习 Kotlin。
我认为下面的代码应该打印.但这实际上是打印.true
false
我不知道为什么这段代码打印“false”。
谁能帮我?
fun Boolean.and(it: Boolean): Boolean = true
fun main() {
val b = true.and(false)
println(b)
}
我正在学习 Kotlin,我想知道类型扩展函数逻辑。Boolean
答:
3赞
deHaar
11/8/2023
#1
你不想要的输出的原因是,你的定义实际上是在掩盖已经存在的乐趣
,然后用它来代替你的。false
Boolean.and(…)
使用不同的名称并获得所需的结果:
fun Boolean.logicalAnd(it: Boolean): Boolean = true
fun main() {
val b = true.logicalAnd(false)
println(b)
}
输出:true
评论
1赞
Junbeom Jeon
11/8/2023
谢谢。
0赞
deHaar
11/9/2023
很高兴它有帮助!你能接受这个答案吗?
0赞
gidds
11/9/2023
如果您使用的是 IntelliJ 等 IDE,那么如果您让鼠标指针悬停在对 的调用上,它可能会显示一个弹出窗口,提供正在调用哪个函数的详细信息;这可以帮助解释这样的情况。.and(
评论