您的位置:首页 > 产品设计 > UI/UE

StirngBuffer . StringBuilder . String

2016-07-14 10:22 561 查看
String,StringBuffer与StringBuilder 的区别

String
字符串常量,是不可变对象,每次操作都会产生新的对象,很多的话,对性能造成影响。

StringBuffer 字符串变量(线程安全),每次操作在原来的基础上操作,不会创建新的对象,改变的只是字符串的引用。在大部分情况下
StringBuffer > String

StringBuilder 字符串变量(非线程安全,不同步的),该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况 很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比
StringBuffer 要快。两者的方法基本相同。在大部分情况下 StringBuilder > StringBuffer

A、StringBuffer对象的初始化,以及和String的转换

String str = "stringString";
StringBuffer sb1 = new StringBuffer("123");

StringBuffer sBuffer = new StringBuffer(str);  //string 转换为StringBuffer
System.out.println(sBuffer);  //结果:stringString
String string2 = sb1.toString();  //StringBuffer 转换为string
System.out.println(string2);//结果:123
B、 StringBuffer的常用方法

StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。

1,append()

在原来的值上追加值。

StringBuffer stringBuffer = new StringBuffer("#ewq3");
StringBuffer string1 =stringBuffer.append("ABC");
System.out.println(string1);  //结果:#ew3ABC
2,deleteCharAt()

删除指定位置的值,并将删除之后的新值返回。

StringBuffer stringBuffer = new StringBuffer("#ewq3");
StringBuffer string1 =stringBuffer.deleteCharAt(4);
System.out.println(string1);  //结果:#ewq


3,charAt()

输出指定位置的值。

StringBuffer stringBuffer = new StringBuffer("#ewq3");
char b = stringBuffer.charAt(4);
System.out.println(b);  //结果:3


C、关于以后用得到的,再继续添加!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  StirngBuffer . Str