本质:是一个char字符数组存储字符串
总结:
1.如果字符串存在大量的修改操作,一般使用StringBuffer或者StringBuilder。
2.如果字符串存在大量的修改操作,并且单线程的情况,使用StringBuilder。
3.如果字符串存在大量的修改操作,并且多线程的情况,使用StringBuffer。
4.如果我们字符串很少修改,被多个对象引用,使用String,比如配置信息等。
String的用法以及详细的知识点
1.String的定义
java">String string = "是一个字符串" ;
如果是这一题:
关于StringBuffer的详细知识和用法
总结:
1.正常创个一个带有字符串内容的StringBuffer的字符串。
java"> StringBuilder stringBuilder = new StringBuilder("这是一个StringBuffer字符串");
2.如果创建的字符串为空,则默认长度为16的char[ ] ,用于存放字符内容。
java">StringBuilder stringBuilder = new StringBuilder();
3.也可以指定char[ ] 的大小,比如:
java">StringBuilder stringBuilder = new StringBuilder(100);
4.将String类型转换为StringBuffer类型
java"> String str = "123" ;StringBuilder stringBuilder = new StringBuilder(str);
5.或者使用append方法,将string类型添加在buffer类型后面,整体就会变成buffer类型
java">String str = "123" ;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder = stringBuilder.append(str);
6.将Buffer类型转换成string类型,使用tostring方法
java">StringBuilder stringBuilder = new StringBuilder("123456");
String s = stringBuilder.toString();
7.或者使用new关键字来创建一个string类型
java">StringBuilder stringBuilder = new StringBuilder("123456");
String s = new String(stringBuilder);
关于StringBuilder的详细知识和用法
(1)StringBuilder 继承 AbstractStringBuilder类
(2)实现了Serializabler,说明Stringbuilder对象是可以串行化(对象可以网络传输,可以保存到文件)
(3)StringBuilder是final类,不能被继承。
(4)StringBuilder对象字符序列仍然是存在在其父类AbstractStringBuilder的char[ ] value;因此
字符序列是堆中。
(5)StringBuilder的方法,没有做互斥处理。
其代码用法与StringBuffer一样