字符串一般使用String进行表示,一旦声明,字符串常量就不可能改变。而字符串对象可以改变,但是只是改变其内存地址的指向。
如果想要频繁修改字符串,可以使用StringBuffer类,StringBuffer类通过append()方法,进行数据的连接。
结构定义
String
public final class String extends Object implements Serializable,Comparable
StringBuffer
public final class String extends Object implementss Serializable,CharSequence
- [] 可以发现String和StringBuffer类都是 CharSequence接口的子类,因此都可以向上转型为 CharSequence接口
String类转化为StringBuffer类
- 利用StringBuffer类的构造方法
1 | package Test; |
- 利用StringBuffer类的append()方法
1 | package Test; |
StringBuffer类转化为String类
- 利用toString()方法可以将StringBuffer类转换为String
1 | package Test; |
- 利用String构造方法
1 | package Test; |
String和StringBuffer的比较
String类提供了一个方法用于比较String和StringBuffer的字符串的内容1
public boolean contentEquals(StringBuffer buf)
注意:此方法比较会区分大小写
StringBuffe常用方法
- public StringBuffer append() 追加数据
- public StringBuffer reverse() 字符串翻转
- public StringBuffer insert(int offset,数据类型 变量) 指定位置追加内容
- public StringBuffer delete(int star,int end) 指定删除索引范围的内容
StringBuilder类
- 结构如下
1
public final StringBuilder extends Object implements Serializable,CharSequence
结构定义和StringBuffer完全相同,但是StringBuffer类的定义全部使用synchronized进行同步定义,属于安全的线程操作,而StringBuilder类的方法都是异步方法,属于非线程安全操作
