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. 链式编程
- 当我们在调用一个带返回值的方法时,不需要用变量接收他的结果,可以继续调用其他方法
String sb = “abc”;
int len = sb.substring(1).replace(“A”, “Q”).length() ;
System.out.println( len ) ;
// 2