gpt4 book ai didi

java - 这些表达式的行为的原因是什么?

转载 作者:行者123 更新时间:2023-12-02 12:18:19 25 4
gpt4 key购买 nike

println (0>4​)​<5​ // prints true
println (0<4​)​<5​ // prints true
println (0>4)​>5​ // prints false
println (0<4)>5 // prints true

当我尝试提取此表达式的类时,会导致 java.lang.ClassCastException: java.lang.Integer 无法转换为 java.lang.Boolean。为什么它尝试将表达式从整数转换回 boolean 值?

最佳答案

表达式(0<4)<5在 Groovy 和 Java 中都是无效语法。 (0<4)boolean (或 Boolean 装箱时),不能与 int 进行比较(或装箱时Integer)。这就是您收到该错误消息的原因。

println (0<4)<5实际上解析为 println(0<4) < 5 ,因此它比较 println(0<4) 的返回值这是 println(true) ,值为 5 .

在 Groovy 中,println返回null 。这可以与任何 Object 进行比较,由于某些特殊原因。 null比较等于 null并且小于任何真实物体,包括 Integer对象5 .

关于java - 这些表达式的行为的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45992929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com