Chiven

String,StringBuffer,StringBuilder

同为java.lang包下的两个操作字符串的类。

String是不可变类,当一个String对象被创建以后,„该对象所包含的字符序列是不可改变的(直到该对象被销毁)。

StringBuffer对象是字符序列可变的字符串对象,该类提供了append(),insert(),reverse(),setCharAt(),setLength()等方法,通过StringBuffer生成想要的字符串,便可通过toString()方法转换为String对象。

1 String s1 = "I'm Chiven";
2 s1 += 2;
//输出I'm Chiven2
3 System.out.println(s1);

第一行代码先创建一个对象s1,进行赋值;第二行又创建一个s1用来赋值"I'm Chiven2";由于"I'm Chiven"没有被引用,之后被GC回收。所以通过两次对象的创建和赋值进行字符串的替换,效率底下。

StringBuffer sb1 = new StringBuffer("I'm Chiven");
sb1.append(2);
//输出I'm Chiven2
System.out.println(sb1);

这里体现了StringBuffer的可变性。

StringBuffer和StringBuilder的区别:

两者的用法完全相同,StringBuffer是线程安全的,StringBuilder的效率较高。所以当单线程时,用StringBuilder效率较高,如果会涉及到多线程,则用StringBuffer

posted on 2017-01-18 17:34  Chiven  阅读(152)  评论(0)    收藏  举报

导航