String s1 = "123"; String s2 = new String("123"); s1.equal(s2)的结果?? s1==s2的结果??求原因?

2025-05-17 18:07:34
推荐回答(3个)
回答1:

这么久木人回答??
s1.equal(s2) 结果: true 123地址是固定的 只有一个对象
s1==s2 结果: false s2和123是两个对象 s2指向123
equal 是判断字符串相等的 Java会确保一个字符串常量只有一个拷贝, 这个对于String简单来说就是比较两字符串的Unicode序列是否相当,如果相等返回true;
==:
==是比较两字符串的地址是否相同,也就是是否是同一个字符串的引用。

回答2:

?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

回答3:

。。。。。。。。