【发布时间】:2010-10-06 15:55:34
【问题描述】:
我有两个相同的字符串,一个在数组中,一个在字符串变量中。当我比较这些相同的字符串时,我每次都会得到错误。我调试和调试过,但每次都得到相同的结果。这是有问题的代码
String temp = ""+(num1*num2);
Boolean equal = temp == answers[i];
if(equal) {
correct[i] = true;
num_correct ++;
}else{
correct[i] = false;
}
再一次,我已经调试了这个程序的每一个小细节,我 101% 确定字符串是相同的。为什么 Java 在比较时返回 false?
【问题讨论】:
-
你为什么使用 Boolean(java 类)而不是原生 boolean 类型?另外,为什么使用 == 运算符而不是 equals() 方法?
-
我们需要一个前十名的常见问题解答列表,== 而不是 equals 总是出现。
-
@Steve Kuo 这是个好主意。如果它还没有,应该在 meta 上建议它。
-
你为什么要-1我! == 适用于我遇到的每种编程语言中的字符串。我什至没有想到它不起作用的可能性,许多其他程序员也没有想到。
标签: java arrays string comparison