比较使用substring方法的字符串

时间:2014-09-06 14:49:19

标签: android substring

我希望有人可以解释为什么下面的代码不起作用:

            //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方法时,为什么不能比较一个字符串。我甚至在日志中看到它们是相同的字符串,或者至少具有相同的文本。

1 个答案:

答案 0 :(得分:1)

对String使用“==”运算符时,它表示对象之间的比较,而不是对象保存的值。

为了比较String的值,您应该使用内置方法equals。如果String对象表示相同的字符序列,则结果为真。

if(string1.equals(string2)) {
     //Match 
}