gpt4 book ai didi

java - Java 的 == 运算符对于原始值可以不对称吗?

转载 作者:行者123 更新时间:2023-12-01 06:31:08 24 4
gpt4 key购买 nike

Java 的 == 运算符对于原始值可以不对称,以便x == y,但是y != x,其中 xy 都是某些(可能不同)原始类型的变量?

编辑:

好的,我会诚实地说明我问这个问题的原因。在 Java Puzzlers book ,有一个谜题 #87,它涉及原始类型的 == 运算符。

它由三个部分组成,第一个部分要求读者找到 == 运算符不具有反射性的情况,第二个部分要求读者找到 == 不具有传递性的情况。我已经找到了这两个问题的解决方案,但我不知道如何解决第三个问题,其定义如下:

public class Symmetric {
public static void main(String[] args) throws Exception {
/*
* If you can come up with a set of primitive types and values
* that causes this program to print "true false", then
* you have proven that the == operator is not symmetric.
*/
<typeX> x = <valueX>;
<typeY> y = <valueY>;

System.out.print ((x == y) + " ");
System.out.println(y == x);
}
}

我没有这本书,所以我无法查找解决方案,我只找到了源文件,其中不包含解决方案。

最佳答案

== 对于每种类型都是对称的...

来自规范:

The equality operators are commutative if the operand expressions have no side effects.

关于java - Java 的 == 运算符对于原始值可以不对称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11106427/

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