geo*_*van 1 java string substring class
可能重复:
如何比较Java中的字符串?
我可能在某个地方犯了一个逻辑错误,但我不知道在哪里.即使条件似乎为TRUE,输出也始终为FALSE
public class Test {
public static void main(String[] args) {
String str1 ="Hello world";
String str2 ="Hello world";
if (checkSubstring(str1,str2)){
System.out.println("Cool");
}
else
System.out.println("Not cool");
}
static boolean checkSubstring(String str1, String str2) {
String s1 = str1;
String s2 = str2;
if (s1.substring(4)== s2.substring(4)){
return true;
}
else
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
您应该始终使用equals方法来测试内容string.
==运算符检查两个reference是否指向同一个对象或不同的对象.并且因为s1.substring()并且s2.substring()将生成两个不同的字符串对象,因此比较它们reference将给出false布尔值.
所以,在checkSubstring方法中,你应该像这样比较你的子串: -
if (s1.substring(4).equals(s2.substring(4))) {
return true;
} else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
347 次 |
| 最近记录: |