String和StringBuffer得区别
2009-11-27 12:03
459 查看
1.使用的区别:StringBuffer必须new起来,StringBuffer的append的效率比String的+=效率高;
2.String的值永远不会改变,例:String s1="abc"; String s2="def"; s1=s2; System.out.println(s1);
结果是:def;其实s1的值并没有改变,改变的只是它指向的地址;
StringBuffer则可以改变对象指向地址中的值,例:
StringBuffer sb1=new StringBuffer("A");
StringBuffer sb2=new StringBuffer("B");
sb1=sb2;
System.out.println(sb1);
结果是:B
3.StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
s1.equals(s2)//为什么是false
String s1 = new String("a");
String s2 = new String("a");
s1.equals(s2)//为什么是true
StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
而Object类中的equals方法是用来比较地址的,所以等于false.
String类中重新定义了equals这个方法,而且比较的是值,而不是地址。所以会是
true。
2.String的值永远不会改变,例:String s1="abc"; String s2="def"; s1=s2; System.out.println(s1);
结果是:def;其实s1的值并没有改变,改变的只是它指向的地址;
StringBuffer则可以改变对象指向地址中的值,例:
StringBuffer sb1=new StringBuffer("A");
StringBuffer sb2=new StringBuffer("B");
sb1=sb2;
System.out.println(sb1);
结果是:B
3.StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
s1.equals(s2)//为什么是false
String s1 = new String("a");
String s2 = new String("a");
s1.equals(s2)//为什么是true
StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
而Object类中的equals方法是用来比较地址的,所以等于false.
String类中重新定义了equals这个方法,而且比较的是值,而不是地址。所以会是
true。
相关文章推荐
- String和StringBuffer、ArrayList和LinkedList、HashMap和HashTable的特点及区别。
- String、StringBuilder和StringBuffer的区别
- String,StringBuffer与StringBuilder的区别详解
- String,StringBuffer与StringBuilder的区别??
- String,StringBuffer,StringBuilder的区别
- String、StringBuffer与StringBuilder之间区别
- 关于String和StringBuilder、StringBuffer的区别?
- String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?
- Java中的String,StringBuilder,StringBuffer三者的区别
- String、StringBuffer与StringBuilder之间区别
- Java:String、StringBuffer和StringBuilder的区别
- String和StringBuffer的区别
- java中int和integer,String,StringBuffer,StringBuilder的区别
- JAVA中String与StringBuffer的区别 .
- String、StringBuffer与StringBuilder之间区别
- String、StringBuilder、StringBuffer 和CharSequence的区别
- java中String、StringBuffer、StringBuilder的区别
- java_String和StringBuffer区别分析
- String,StringBuffer与StringBuilder的区别
- 简述Java:String、StringBuffer与StringBuilder 区别