Java新手:StringBuilder類的一些功能
阿新 • • 發佈:2018-12-15
- StringBuilder類是java.lang包下的,所以不要導包。
- StringBuilder類是一個可變的字串,字串緩衝區類。StringBuilder類是一個可變的字串,字串緩衝區類。
- String和StringBuilder類的區別: String的內容是固定的,每次拼接都會產生一個新的字串物件,放在方法區的常量池中。 StringBuilder的內容是可變的,每次拼接字串自始至終都是同一個StringBuilder容器。
- StringBuilder的構造方法和成員方法
public static void main(String[] args) { StringBuilder sb= new StringBuilder(); System.out.println("sb:"+sb); //public int capacity():返回當前容量 System.out.println("sb.capacity():"+sb.capacity()); //public int length()返回長度(字元數) System.out.println("sb.length():"+sb.length()); }
輸出結果: 注意: StringBuilder物件打印出來的不是地址,而是地址中的內容。容量是可以放16個字元,長度是指當前物件中有多少個字元。
sb:
sb.capacity():16
sb.length():0
- 新增功能: public StringBuilder append(任意型別):新增資料,被返回自身物件
public static void main(String[] args) { StringBuilder sb= new StringBuilder(); System.out.println("sb:"+sb); StringBuilder sb2 =sb.append("hello"); System.out.println("sb:"+sb); System.out.println("sb2:"+sb2); System.out.println("----------------"); sb.append(false); sb.append(100); System.out.println("sb:"+sb); System.out.println("-----------------"); //鏈式 sb.append(true).append('A').append(123).append("world"); System.out.println("鏈式:"+sb); }
輸出結果:
sb:
sb:hello
sb2:hello
----------------
sb:hellofalse100
-----------------
鏈式:hellofalse100trueA123world
注意: append返回的是StringBuilder物件。
- 反轉功能 public StringBuilder reverse()
public static void main(String[] args) { StringBuilder sb= new StringBuilder(); sb.append(true).append('A').append(123).append("world"); System.out.println("sb:"+sb); sb.reverse(); System.out.println("sb反轉之後:"+sb); }
輸出結果:
sb:trueA123world
sb反轉之後:dlrow321Aeurt
- StringBuilder和string的轉換 StringBuilder轉換成String :public String toString() String轉換成StringBuilder:StringBuilder(String str)
public static void main(String[] args) {
StringBuilder sb= new StringBuilder();
sb.append(true).append('A').append(123).append("world");
String s = sb.toString();
System.out.println("s:"+s);
System.out.println("---------------");
String s2 = "hello world";
StringBuilder sb2 = new StringBuilder(s2);
System.out.println("sb2:"+sb2);
}
輸出結果:
s:trueA123world
---------------
sb2:hello world