参见英文答案 >
How do I compare strings in Java?23个
我有两个相同的字符串,一个在数组中,一个在String变量中.当我比较这些IDENTICAL字符串时,我每次都会得到错误.我已经调试和调试,但每次都得到相同的结果.这是有问题的代码
我有两个相同的字符串,一个在数组中,一个在String变量中.当我比较这些IDENTICAL字符串时,我每次都会得到错误.我已经调试和调试,但每次都得到相同的结果.这是有问题的代码
String temp = ""+(num1*num2); Boolean equal = temp == answers[i]; if(equal) { correct[i] = true; num_correct ++; }else{ correct[i] = false; }
我再次调试了这个程序的每个细节,我确信这些字符串是IDENTICAL.为什么Java在比较时返回false?
解决方法
在Java中使用带对象的==运算符时,您尝试比较对象引用.也就是说,此对象句柄是否指向与其他对象句柄相同的EXACT对象.除非字符串是实习的,否则这不起作用.
Boolean equal = temp.equals(answers[i]);