StringBuilder
- StringBuilder 代表可變字符串對象,相對于是一個容器,它里面裝的字符串是可以改變的,就是用來操作字符串的
- 好處:StringBuilder 比 String 更適合做字符串的修改操作,效率會更高,代碼也會更簡潔
- 注意:如果操作字符串較少,或者不需要操作,以及定義字符串變量,還是建議用 String
public class Test {public static void main(String[] args) {StringBuilder s1 = new StringBuilder(); StringBuilder s2 = new StringBuilder("Jack"); s2.append(666);s2.append("Java");s2.append(true);System.out.println(s2); s1.append(520).append("Java").append("哈哈哈");System.out.println(s1); s1.reverse();System.out.println(s1); System.out.println(s2.length()); String s = s1.toString();System.out.println(s2); }
}
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); StringJoiner s2 = new StringJoiner(",", "{* ", " *}");s2.add("string1");s2.add("string2");s2.add("string3");System.out.println(s2); }
}