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()));
}
这就一样了
字符串常量是储存在数据区的,数据区只要equals,地址就相等
StringBuffer 最后有一步操作是 new String()
虽然很久前的了,我还是回答下。a==b比较的是a和b的内存地址,而a.equals(c)比较的是a和c的值,所以前一个返回值是false,而后一个是true。