读书人

String跟StringBuffer对象的比较

发布时间: 2012-09-15 19:09:28 作者: rapoo

String和StringBuffer对象的比较

??String s="123";
??String s1="123";
??StringBuffer s2=new StringBuffer("123");
??StringBuffer s3=new StringBuffer("123");
??System.out.println(s==s1);? //输出true
??System.out.println(s==s2.toString());?? //输出false
??System.out.println(s.equals(s2));???? //输出false
??System.out.println(s2.equals(s3));???? //输出false

?

1.string为不可变类,值改变会重新分配地址

?? StringBuffer是Object类,可变类,值改变不重新分配地址

2.String的equals方法重写了,比较的是值,不是地址

? StringBuffer的equal方法未重写,继承Object的,比较的是地址,不是值

读书人网 >编程

热点推荐