java——String,StringBuffer 和 StringBuilde的区别

Java
305
0
0
2022-11-26

StringBuffer 和 StringBuilde

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

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

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

1.添加字符串:append()

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("hello" );//用append来添加字符串
stringBuilder.append("c");

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

 stringBuilder.append("hello").append("c");//支持链式调用

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

StringBuilder stringBuilder = new StringBuilder("axcv");
stringBuilder.reverse();

也可以进行链式调用:

stringBuilder.reverse().reverse();

3.插入操作:insert()

stringBuilder.insert(int offset, 各种数据类型 b)

4.删除操作:delete()

StringBuilder sb = new StringBuilder("helloworld");
System.out.println(sb.delete(5, 10));//前闭后开区间

String,StringBuffer 和 StringBuilde的区别

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