java——String,StringBuffer 和 StringBuilde的区别

2022-10-26 14:48:28 浏览数 (1)

StringBuffer 和 StringBuilde

任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。

通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类

这里的两个类大致一样,下面用StringBuilde来举例说明

1.添加字符串:append()

代码语言:javascript复制
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("hello" );//用append来添加字符串
stringBuilder.append("c");

StringBuilde能支持链式调用(能支持链式调用的核心是append返回值是this)

代码语言:javascript复制
 stringBuilder.append("hello").append("c");//支持链式调用

2.逆置一个字符串: reverse()

代码语言:javascript复制
StringBuilder stringBuilder = new StringBuilder("axcv");
stringBuilder.reverse();

也可以进行链式调用:

代码语言:javascript复制
stringBuilder.reverse().reverse();

3.插入操作:insert()

代码语言:javascript复制
stringBuilder.insert(int offset, 各种数据类型 b)

4.删除操作:delete()

代码语言:javascript复制
StringBuilder sb = new StringBuilder("helloworld");
System.out.println(sb.delete(5, 10));//前闭后开区间

String,StringBuffer 和 StringBuilde的区别

  • String的内容不可修改,StringBuffer与StringBuilder的内容可以修改
  • StringBuffer与StringBuilder大部分功能是相似的
  • StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作

0 人点赞