String a="abcd"; String b="ab"+"cd"; System.out.println(a==b);

2024-11-20 10:31:44
推荐回答(4个)
回答(1):

string stringbuff 存放地址不一样,
public static void main(String[] args) {
String a="abcd";
StringBuffer c = new StringBuffer("ab");
c.append("cd");
System.out.println(a.equals(c.toString()));
}
这就一样了

回答(2):

字符串常量是储存在数据区的,数据区只要equals,地址就相等

回答(3):

StringBuffer 最后有一步操作是 new String()

回答(4):

虽然很久前的了,我还是回答下。a==b比较的是a和b的内存地址,而a.equals(c)比较的是a和c的值,所以前一个返回值是false,而后一个是true。