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

你可能感兴趣的:(java,学习)