StringBuffer_StringBuilder
StringBuffer:
- StringBuffer是一个容器;
- StringBuffer的长度是可变的;
- StringBuffer可储存不同的数据类型,最终将会通过toString()返回。
PS:当数据类型不确定、数据个数不确定、最终要变成字符串的时候缓冲区是最方便的。
StringBuffer是线程安全的(内部有同步)
StringBuilder线程不安全(内部无同步)但是比StringBuffer更为高效。
1 /* 2 C create U update R read D delete 3 4 1,存储。 5 StringBuffer append():将指定数据作为参数添加到已有数据结尾处。 6 StringBuffer insert(index,数据):可以将数据插入到指定index位置。 7 8 9 2,删除。 10 StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。 11 StringBuffer deleteCharAt(index):删除指定位置的字符。 12 13 3,获取。 14 char charAt(int index) 15 int indexOf(String str) 16 int lastIndexOf(String str) 17 int length() 18 String substring(int start, int end) 19 20 4,修改。 21 StringBuffer replace(start,end,string); 22 void setCharAt(int index, char ch) ; 23 24 25 5,反转。 26 StringBuffer reverse(); 27 28 6, 29 将缓冲区中指定数据存储到指定字符数组中。 30 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 31 32 33 JDK1.5 版本之后出现了StringBuilder. 34 35 StringBuffer是线程同步。 36 StringBuilder是线程不同步。 37 38 以后开发,建议使用StringBuilder 39 40 升级三个因素: 41 1,提高效率。 42 2,简化书写。 43 3,提高安全性。 44 45 */