目录
python :
def runAll():
a, b, d = 'relievedCy', 'relieved', 'Cy'
c = b + d
print("a.hash : ", a.__hash__())
print("c.hash : ", c.__hash__())
print("a == c :", a == c, "\n") # True
字符串拼接后与整字符串的判断结果依然为True
a.hash : 7565579363759795529
c.hash : 7565579363759795529
a == c : True
python中需要使用 is 进行比对,is介绍请参考其他我的文章
Java :
public static void main(String[] args) {
String str1 = "relievedCy";
String str2 = "relieved";
String str3 = "Cy";
String str4 = str2 + str3;
System.out.println(str1.hashCode());
System.out.println(str4.hashCode());
System.out.println(str1 == str4);
System.out.println(str1.equals(str4));
}
在java中定义字符串后当再次拼接由于内存地址不同,导致 “ == ” 符号判断的结果为 false
所以在在Java中可以使用String类的equals方法去解决这一问题
-2144789354
-2144789354
false
true
public boolean equals(Object obj)