Date:2021.9.25 Author:lqy文章目录
- Java中的StringBulider
- 一、StringBulider简介:
- 二、拼接字符串区别-String和StringBulider
- 三、StringBulider构造方法:
- 四、StringBulider常用函数:
- 五、StringBulider和String类型相互转换:
- 1. String->StringBulider
- 2. StringBuilder->String
- 六、StringBuilder常见用法:
- 一、StringBulider简介:
StringBulider是一个可变的字符串类,可以视作一个容器,容器中的内容是可以发生改变的
StringBulider与String相比,StringBulider是可以发生改变的,而String是无法发生改变的
- 二、拼接字符串区别-String和StringBulider
-
String:
String s = "hello"; s += "world"; System.out.println(s); // output->"hello world"
ALL:String借用此种方式拼接字符串会造成内存冗余,浪费时间和空间
-
StringBulider:
StringBulider sb = new StringBulider(); sb.append("hello world");ALL:由于StringBulider的可变特性,因此可以通过append方法直接添加、改变元素
-
- 三、StringBulider构造方法:
- 无参构造
- 带参构造
StringBuilder sb1 = new StringBuilder(); System.out.println(sb1); String s = "hello world"; StringBuilder sb2 = new StringBuilder(s);
- 四、StringBulider常用函数:
-
append函数:
StringBuilder sb = new StringBuilder(); StringBuilder sb2 = sb.append("hello world"); System.out.println(sb==sb2); //output->trueALL:append函数返回对象本身,sb和sb2地址相同
append函数链式编程:
sb.append("Java").append("hello").append("world") -
reverse函数:
StringBuilder sb = new StringBuilder(); sb.append("hello world"); sb.reverse(); // 对象本身的序列反转 System.out.println(sb); // output->"dlrow olleh" -
length和charAt函数
StringBuilder sb = new StringBuilder(); sb.append("hello"); sb.append("world"); for (int i = 0;i < sb.length();i++) //获取容器长度 { System.out.println(sb.charAt(i)); } -
insert函数:
String s = "liqiyan"; StringBuilder sb = new StringBuilder(s); sb.insert(0, "linxuan "); System.out.println(sb);
-
setCharAt函数:
String s = "liqiyan"; StringBuilder sb = new StringBuilder(s); sb.setCharAt(7, '-'); System.out.println(sb);
-
delete和replace函数:
String s = "liqiyan"; StringBuilder sb = new StringBuilder(s); sb.delete(0, 7); System.out.println(sb); sb.replace(0, 1, "linxuan "); System.out.println(sb);//
-
- 五、StringBulider和String类型相互转换:
前文提到,String为不可变类型,StringBuilder为可变类型,在日常生活中,为使用方便,经常需要二者进行相互转换:
- 1. String->StringBulider
String s = "hello world"; StringBuilder sb = new StringBuilder(s);
- 2. StringBuilder->String
StringBuilder sb = new StringBuilder(); sb.append("hello world"); String s = sb.toString();
- 1. String->StringBulider
- 六、StringBuilder常见用法:
public static String myReverse(String s) { StringBuilder sb = new StringBuilder(s); sb.reverse(); String sAfter = sb.toString(); return sAfter; //return new StringBuilder(s).reverse().toString(); }



