gpt4 book ai didi

java - 如何确保 == 始终适用于基元作为相等测试

转载 作者:行者123 更新时间:2023-12-01 06:53:09 25 4
gpt4 key购买 nike

据我了解,如果我有两个 longint,用于测试值相等的 == 运算符有时将不起作用由于自动装箱。

在处理基元时,我需要做什么才能确保 == 在每种可能的情况下都能工作?

最佳答案

向后兼容性要求(并且 JLS 同意)如果您有这样的表达式

double a = ..
double b = ...
if (a == b) // condition

此条件的工作方式必须与自动装箱之前和自动装箱之后相同。这意味着自动装箱不能也不能应用于此处。

事实上,如果可以使用拆箱来代替,则自动装箱永远不会用于编译 == 表达式。

Integer i = 1000;
int j = 1000;
System.out.println(i == j); // is true

在这种情况下,选择拆箱而不是装箱。

关于java - 如何确保 == 始终适用于基元作为相等测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19686792/

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