Edit
StringBuffer和StringBuilder
特点
- 1.长度是可以变化,不同于String类,一旦定义了就不能修改;
- 2.可以直接操作多个数据类型;
- 3.最终可以通过toString方法变成字符串
常用操作
1.存储
存储:
StringBuffer append():将指定数据类型作为参数添加到已有数据结尾处.
StringBuffer insert(index,数据):将数据插到指定index位置.
2.删除
删除:
StringBuffer delete(start,end):删除缓冲区中的数据,包含头,不包含尾
StringBuffer deletCharAt(index):删除指定位置index的数据
3.获取
获取:
char charAt(int index):获取指定位置的数据
int indexOf(String str):获取指定数据的角标
int lastIndexOf(String str):反向索引,返回str第一次出现的位置
int length():获取长度
String substring(int start,int end):获取子串,返回的是子串
4.修改
修改:
StringBuffer replace(int start,int end,String str):替换掉里面的内容,包含头,不包含尾
StringBuffer reverse():反转
5.getChars
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
:将缓冲区里面的数据(包含头不包含尾)存进一个字符数组char[]中,从dstBegin角标位开始存
6.StringBuilder
- 在JDK1.5版本之后,出现了StringBuilder
- StringBuffer是线程同步,多线程推荐使用StringBuffer
- StringBulider是线程不同步,单线程使用StringBuilder
- 在以后开发中建议使用StringBuilder,这样效率高,如果出现不安全,也可以自己加锁
程序实例
1.class StringBufferDemo
2.{
3. public static void main(String[] args)
4. {
5. method_append();
6. method_delete();
7. method_update();
8. method_getchars();
9. }
10. public static void method_append()
11. {
12. StringBuffer sb = new StringBuffer();
13. sb.append("gaga").append(true).append(78);//sb.append()返回的是本类对象,然后在调用本类方法
14. sop(sb.toString());
15. sb.insert(1,"8u7");
16. sop(sb.toString());
17. }
18. public static void method_delete()
19. {
20. StringBuffer sb = new StringBuffer("abgelkd");
21. sb.delete(1,3);
22. sop(sb.toString());
23. sb.deleteCharAt(4);//删除指定位置的数据
24. sop(sb.toString());
25. sb.delete(0,sb.length());//清空缓冲区
26.
27. }
28. public static void method_update()
29. {
30. StringBuffer sb = new StringBuffer("abgelkd");
31. sb.replace(1,3,"haha");
32. sop(sb.toString());
33.
34. }
35. public static void method_getchars()
36. {
37. StringBuffer sb = new StringBuffer("abgelkd");
38. char[] ch = new char[5];
39. sb.getChars(1,4,ch,1);
40. for (int x = 0;x<ch.length ;x++ )
41. {
42. sop("ch[x]="+ch[x]);
43. }
44. }
45.
46. public static void sop(Object obj)
47. {
48. System.out.println(obj);
49. }
50.}
51.
@%2802.%u8D44%u6599%29%5B%20StringBuffer%2C%20160828%2C%20StringBuilder%2C%u50A8%u5B58%2C%u83B7%u53D6%2C%u4FEE%u6539%2C%u5220%u9664%5D%0A%23StringBuffer%u548CStringBuilder%0A%0A%5BTOC%5D%0A%0A%23%23%u7279%u70B9%0A%3E-%201.%u957F%u5EA6%u662F%u53EF%u4EE5%u53D8%u5316%2C%u4E0D%u540C%u4E8EString%u7C7B%2C%u4E00%u65E6%u5B9A%u4E49%u4E86%u5C31%u4E0D%u80FD%u4FEE%u6539%3B%0A%3E-%202.%u53EF%u4EE5%u76F4%u63A5%u64CD%u4F5C%u591A%u4E2A%u6570%u636E%u7C7B%u578B%3B%0A%3E-%203.%u6700%u7EC8%u53EF%u4EE5%u901A%u8FC7toString%u65B9%u6CD5%u53D8%u6210%u5B57%u7B26%u4E32%0A%0A%23%23%u5E38%u7528%u64CD%u4F5C%0A%23%23%231.%u5B58%u50A8%0A%3E%u5B58%u50A8%3A%0A%20%20StringBuffer%20append%28%29%3A%u5C06%u6307%u5B9A%u6570%u636E%u7C7B%u578B%u4F5C%u4E3A%u53C2%u6570%u6DFB%u52A0%u5230%u5DF2%u6709%u6570%u636E%u7ED3%u5C3E%u5904.%0A%20%20StringBuffer%20insert%28index%2C%u6570%u636E%29%3A%u5C06%u6570%u636E%u63D2%u5230%u6307%u5B9Aindex%u4F4D%u7F6E.%0A%0A%23%23%232.%u5220%u9664%0A%3E%u5220%u9664%3A%0A%20%20StringBuffer%20delete%28start%2Cend%29%3A%u5220%u9664%u7F13%u51B2%u533A%u4E2D%u7684%u6570%u636E%2C%u5305%u542B%u5934%2C%u4E0D%u5305%u542B%u5C3E%0A%20%20StringBuffer%20deletCharAt%28index%29%3A%u5220%u9664%u6307%u5B9A%u4F4D%u7F6Eindex%u7684%u6570%u636E%0A%0A%23%23%233.%u83B7%u53D6%0A%3E%u83B7%u53D6%3A%0A%20%20char%20charAt%28int%20index%29%3A%u83B7%u53D6%u6307%u5B9A%u4F4D%u7F6E%u7684%u6570%u636E%0A%20%20int%20indexOf%28String%20str%29%3A%u83B7%u53D6%u6307%u5B9A%u6570%u636E%u7684%u89D2%u6807%0A%20%20int%20lastIndexOf%28String%20str%29%3A%u53CD%u5411%u7D22%u5F15%2C%u8FD4%u56DEstr%u7B2C%u4E00%u6B21%u51FA%u73B0%u7684%u4F4D%u7F6E%0A%20%20int%20length%28%29%3A%u83B7%u53D6%u957F%u5EA6%0A%20%20String%20substring%28int%20start%2Cint%20end%29%3A%u83B7%u53D6%u5B50%u4E32%2C%u8FD4%u56DE%u7684%u662F%u5B50%u4E32%0A%0A%23%23%234.%u4FEE%u6539%0A%3E%u4FEE%u6539%3A%0A%3E%20%20StringBuffer%20replace%28int%20start%2Cint%20end%2CString%20str%29%3A%u66FF%u6362%u6389%u91CC%u9762%u7684%u5185%u5BB9%2C%u5305%u542B%u5934%2C%u4E0D%u5305%u542B%u5C3E%0A%20%20StringBuffer%20reverse%28%29%3A%u53CD%u8F6C%0A%0A%23%23%235.getChars%0A%3E%60void%20getChars%28int%20srcBegin%2Cint%20srcEnd%2Cchar%5B%5D%20dst%2Cint%20dstBegin%29%60%3A%u5C06%u7F13%u51B2%u533A%u91CC%u9762%u7684%u6570%u636E%28%u5305%u542B%u5934%u4E0D%u5305%u542B%u5C3E%29%u5B58%u8FDB%u4E00%u4E2A%u5B57%u7B26%u6570%u7EC4char%5B%5D%u4E2D%2C%u4ECEdstBegin%u89D2%u6807%u4F4D%u5F00%u59CB%u5B58%0A%0A%23%23%236.StringBuilder%0A%3E-%20%u5728JDK1.5%u7248%u672C%u4E4B%u540E%2C%u51FA%u73B0%u4E86StringBuilder%0A%3E-%20StringBuffer%u662F%u7EBF%u7A0B%u540C%u6B65%2C%u591A%u7EBF%u7A0B%u63A8%u8350%u4F7F%u7528StringBuffer%0A%3E-%20StringBulider%u662F%u7EBF%u7A0B%u4E0D%u540C%u6B65%2C%u5355%u7EBF%u7A0B%u4F7F%u7528StringBuilder%0A%3E-%20%u5728%u4EE5%u540E%u5F00%u53D1%u4E2D%u5EFA%u8BAE%u4F7F%u7528StringBuilder%2C%u8FD9%u6837%u6548%u7387%u9AD8%2C%u5982%u679C%u51FA%u73B0%u4E0D%u5B89%u5168%2C%u4E5F%u53EF%u4EE5%u81EA%u5DF1%u52A0%u9501%0A%0A%0A%23%23%u7A0B%u5E8F%u5B9E%u4F8B%0A%60%60%60java%0Aclass%20StringBufferDemo%20%0A%7B%0A%09public%20static%20void%20main%28String%5B%5D%20args%29%20%0A%09%7B%0A%09%09method_append%28%29%3B%09%0A%09%09method_delete%28%29%3B%0A%09%09method_update%28%29%3B%0A%09%09method_getchars%28%29%3B%0A%09%7D%0A%09public%20static%20void%20method_append%28%29%0A%09%7B%0A%09%09StringBuffer%20sb%20%3D%20new%20StringBuffer%28%29%3B%0A%09%09sb.append%28%22gaga%22%29.append%28true%29.append%2878%29%3B//sb.append%28%29%u8FD4%u56DE%u7684%u662F%u672C%u7C7B%u5BF9%u8C61%2C%u7136%u540E%u5728%u8C03%u7528%u672C%u7C7B%u65B9%u6CD5%0A%09%09sop%28sb.toString%28%29%29%3B%0A%09%09sb.insert%281%2C%228u7%22%29%3B%0A%09%09sop%28sb.toString%28%29%29%3B%09%0A%09%7D%0A%09public%20static%20void%20method_delete%28%29%0A%09%7B%0A%09%09StringBuffer%20sb%20%3D%20new%20StringBuffer%28%22abgelkd%22%29%3B%0A%09%09sb.delete%281%2C3%29%3B%0A%09%09sop%28sb.toString%28%29%29%3B%0A%09%09sb.deleteCharAt%284%29%3B//%u5220%u9664%u6307%u5B9A%u4F4D%u7F6E%u7684%u6570%u636E%0A%09%09sop%28sb.toString%28%29%29%3B%0A%09%09sb.delete%280%2Csb.length%28%29%29%3B//%u6E05%u7A7A%u7F13%u51B2%u533A%0A%0A%09%7D%0A%09public%20static%20void%20method_update%28%29%0A%09%7B%0A%09%09StringBuffer%20sb%20%3D%20new%20StringBuffer%28%22abgelkd%22%29%3B%0A%09%09sb.replace%281%2C3%2C%22haha%22%29%3B%0A%09%09sop%28sb.toString%28%29%29%3B%0A%0A%09%7D%0A%09public%20static%20void%20method_getchars%28%29%0A%09%7B%0A%09%09StringBuffer%20sb%20%3D%20new%20StringBuffer%28%22abgelkd%22%29%3B%0A%09%09char%5B%5D%20ch%20%3D%20new%20char%5B5%5D%3B%0A%09%09sb.getChars%281%2C4%2Cch%2C1%29%3B%0A%09%09for%20%28int%20x%20%3D%200%3Bx%3Cch.length%20%3Bx++%20%29%0A%09%09%7B%0A%09%09%09sop%28%22ch%5Bx%5D%3D%22+ch%5Bx%5D%29%3B%0A%09%09%7D%0A%09%7D%0A%0A%09public%20static%20void%20sop%28Object%20obj%29%0A%09%7B%0A%09%09System.out.println%28obj%29%3B%0A%09%7D%0A%7D%0A%0A%60%60%60