gpt4 book ai didi

java - 表现出奇怪行为的逻辑运算符

转载 作者:行者123 更新时间:2023-11-30 07:08:27 26 4
gpt4 key购买 nike

if ((File_1[i].ID.equals(File_2[j].ID)) 
&& (File_1[i].Relation.equals(File_2[j].Relation)))

这里的第一个条件,(File_1[i].ID.equals(File_2[j].ID)应该为真时显示为假。他们都有相同的值(value)。

我做错了什么吗?这是不寻常的。

ID: fa001
ID: fa001

这些是比较的前 2 个变量的值,但它显示为 false。

最佳答案

楼主说的是ID是String类型,String两边有空格。为了删除 String s 的空格:

s = s.trim();

但是,如果 ID 是您创建的类型,请确保您实现了 .hashCode() 方法。来自 Javadocs:

If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.

还要确保 .equals() 被类 Object 覆盖,以允许您定义新对象类型的值是否相等。

关于java - 表现出奇怪行为的逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23955413/

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