java基础学习 day34(StringBuilder,链式编程)
1. StringBuilder概述
-
StringBuilder可以看作是一个容器,创建之后里面的内容是可变的 作用:提高字符串的操作效率
例如: String s1 = “aaa”; String s2 = “bbb”; String s3 = “ccc”;
String str = s1 + s2 + s3; //在每一个“+”号操作完,都会创建一个新的字符串,s1+s2 会创建一个,再 +s3 又创建一个,这会创建很多无用的字符串,大大浪费计算机的内存,同时也非常影响程序的运行效率。
-
注意点: 因为StringBuilder是java已经写好的类,且java在底层对它做了一些处理,在打印StringBuilder对象的时候,打印的不是他的地址值而是他的属性值,即内容。
2. StringBuilder的构造方法
-
public StringBuilder() //创建一个空白的StringBuilder对象,不包含任何内容
StringBuilder sb = new StringBuilder(); // “”
-
public StringBuilder(String str) //根据字符串的内容,来创建StringBuilder对象
StringBuilder sb = new StringBuilder(“abc”); // “abc”
3. StringBuilder的常用方法
-
public StringBuilder append(任意类型) //在StringBuilder对象的内容的末尾添加数据,并返回添加后的对象本身,可以接收,也可以不接收
StringBuilder sb = new StringBuilder(“abc”); sb.append(1); // “abc1” StringBuilder sb2 = sb.append(true); // “abc1true”
-
public StringBuilder reverse() //反转StringBuilder对象的内容,并返回反转后的对象本身
StringBuilder sb = new StringBuilder(“abc”); sb.reverse(); // “cba”
-
public int length() //返回长度(StringBuilder对象的内容中字符出现的个数)
StringBuilder sb = new StringBuilder(“abc”); sb.length(); // 3
-
public String toString() //通过toString()就可以实现把StringBuilder转换为String,并返回转换后的String字符串 //这样就可以对转换后的String字符串,使用String类的方法了
StringBuilder sb = new StringBuilder(); sb.append(“aaa”); sb.append(“bbb”); sb.append(“ccc”);
System.out.println(sb); // “aaabbbccc”
String str = sb.toString(); System.out.println(str); // “aaabbbccc”
4. StringBuilder的使用场景
-
字符串的拼接 字符串的反转
5. 链式编程
-
当我们在调用一个带返回值的方法时,不需要用变量接收他的结果,可以继续调用其他方法
String sb = “abc”; int len = sb.substring(1).replace(“A”, “Q”).length() ; System.out.println( len ) ; // 2