public class StringBufferVsString {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "abc";
System.out.println(s1.equals(s2));
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
System.out.println(sb1.equals(sb2)); //false
/*why?
* StringBuffer对象调用时并没有重写equals方法,比较的是两个对象的地址
* */
/*how?
*用toString()方法将StringBuffer对象转换成字符串
* */
System.out.println((sb1.toString()).equals((sb2.toString())));
}
}
【JAVA学习笔记】StringBuffer和String使用equals方法的小坑(面试题)
最新推荐文章于 2022-11-27 22:24:47 发布