1. 程式人生 > >Java新手:StringBuilder類的一些功能

Java新手:StringBuilder類的一些功能

  1. StringBuilder類是java.lang包下的,所以不要導包。
  2. StringBuilder類是一個可變的字串,字串緩衝區類。StringBuilder類是一個可變的字串,字串緩衝區類。
  3. String和StringBuilder類的區別: String的內容是固定的,每次拼接都會產生一個新的字串物件,放在方法區的常量池中。 StringBuilder的內容是可變的,每次拼接字串自始至終都是同一個StringBuilder容器。
  4. 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
  1. 新增功能: 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物件。

  1. 反轉功能 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
  1. 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