02_使用API_String

StringBuilder
  • StringBuilder 代表可变字符串对象,相对于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的
  • 好处:StringBuilder 比 String 更适合做字符串的修改操作,效率会更高,代码也会更简洁
  • 注意:如果操作字符串较少,或者不需要操作,以及定义字符串变量,还是建议用 String
public class Test {
    public static void main(String[] args) {
        StringBuilder s1 = new StringBuilder();  // 对象 s1 当前没有任何内容,是""空的
        StringBuilder s2 = new StringBuilder("Jack");  // 对象 s2 当前是 "Jack"

        // 1. 拼接内容
        s2.append(666);
        s2.append("Java");
        s2.append(true);
        System.out.println(s2);  // 输出结果:Jack666Javatrue

        // 2. 支持链式编程
        s1.append(520).append("Java").append("哈哈哈");
        System.out.println(s1);  // 输出结果:520Java哈哈哈

        // 3. 反转操作
        s1.reverse();
        System.out.println(s1);  // 输出结果:哈哈哈avaJ025

        // 4. 返回字符串长度
        System.out.println(s2.length());  // 15

        // 5. 把StringBuilder对象,转换成String类型
        String s = s1.toString();
        System.out.println(s2);  // Jack666Javatrue
    }
}
StringBuffer
  • StringBuffer 的用法与 StringBuilder 是一模一样的
  • 但是 StringBuilder 是线程不安全的,StringBuffer 是线程安全的
  • StringBuffer 的使用和上面的方法一模一样,因而此处不再赘述。
StringJoiner
  • StringJoiner 是 JDK 8 才开始有的,跟 StringBuilder 一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的
  • 好处:不仅能提高字符串的操作效率,并且在有些场景下使用它操作字符串,代码会更简洁
import java.util.StringJoiner;

public class Test {
    public static void main(String[] args) {
        StringJoiner s1 = new StringJoiner(",");
        s1.add("Java1");
        s1.add("Java2");
        s1.add("Java3");
        System.out.println(s1);  // >>> Java1,Java2,Java3

        StringJoiner s2 = new StringJoiner(",", "{* ", " *}");
        s2.add("string1");
        s2.add("string2");
        s2.add("string3");
        System.out.println(s2);  // >>> {* string1,string2,string3 *}
    }
}

你可能感兴趣的:(Java中级,java)