我在使用double values
和==
比较两个!=
时遇到了困难。
我创建了6个双变量并尝试在If
条件下进行比较。
double a,b,c,d,e,f;
if((a==b||c==d||e==f))
{
//My code here in case of true condition
}
else if ((a!=b||c!=d||e!=f))
{
//My code here in case false condition
}
虽然我的条件是a and b are equal
,但控件将转到else if
部分
所以我尝试了a.equals(b)
同等条件,这对我来说很好。
我的查询是如何查看a not equal b
。我在网上搜索过,但我发现只能使用!=
但不知何故这对我不起作用。
答案 0 :(得分:5)
如果您使用double
(原始类型),那么a
和b
必须不相等。
double a = 1.0;
double b = 1.0;
System.out.println(a == b);
如果.equals()
有效,您可能正在使用对象包装器类型Double
。此外,!=
与.equals()
的等效值为
!a.equals(b)
修改强>
此外,
else if ((a!=b||c!=d||e!=f))
{
//My code here in case false condition
}
(除非我错过了什么)应该只是
else
{
//My code here in case false condition
}
如果你真的想要反转你的测试条件和再次测试,
else if (!(a==b||c==d||e==f))
else if (a != b && c != d && e != f)
答案 1 :(得分:2)
您可以使用
!a.equals(b) || !c.equals(d) || !e.equals(f)
使用双数据类型,您可以使用
==,!= (you should try to use these first.. )