我希望有人可以解释为什么下面的代码不起作用:
//Why doesnt this work
String l = myString.substring(cut, lengthLastBtn-1);
String c = myString.substring(cut, lengthLastBtn-1);
if(l==c){
Log.i(TAG, "Correct");
}
//End
//This work!
String l = "hi";
String c = "hi";
if(l==c){
Log.i(TAG, "Correct");
}
// End
// Or if i want the Vars as in the first code i have to use the if statement like this
if(l.contains(c)){
Log.i(TAG, "Correct");
}
//End
所以,当我在其上使用substring方法时,为什么不能比较一个字符串。我甚至在日志中看到它们是相同的字符串,或者至少具有相同的文本。
答案 0 :(得分:1)
对String使用“==”运算符时,它表示对象之间的比较,而不是对象保存的值。
为了比较String
的值,您应该使用内置方法equals。如果String
对象表示相同的字符序列,则结果为真。
if(string1.equals(string2)) {
//Match
}