在Java中,字符串的比较,尽量不要使用“==”,因为严格意义上来说“==”是判断两个变量的地址是都相等。
public class TestString {
public static void main(String[] args){
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
System.out.println(s1==s2);
System.out.println(s2==s3);
}
}
输出结果:
true
false
Process finished with exit code 0
所以在Java中,只要时比较内容就不要用双等号(“==”)。换成equals():
public class TestString {
public static void main(String[] args){
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
// System.out.println(s1==s2);
// System.out.println(s2==s3);
System.out.println(s1.equals(s2));
System.out.println(s2.equals(s3));
}
}
输出结果:
true
true
Process finished with exit code 0
在Python中,字符串的判断是用“==”,而判断地址是用内置函数id()来判断。