1. 程式人生 > 其它 >String,StringBuilder,StringBuffer

String,StringBuilder,StringBuffer

String

String 不是基本資料型別,Java中的所有字串(例如"abc" )都被實現為此類的例項。
String物件是不可變的。

public boolean equals(Object anObject)
public char charAt(int index)
public int length()
public
String s = "hello";          // 在常量池中 建立了 “hello”
s += "world";                // 在常量池中 建立了 “world” ,“helloworld”
System.out.println(s);       // 此時 s 指向 “helloworld” ,“hello” 和 “world” 都被浪費掉了。

對字串進行拼接操作,每次拼接,都會建立新的String物件(字串在java中都被認為是String物件),既耗時,又浪費空間。

StringBuilder

可變字串,可以看成一個容器,可變指的是StringBuilder物件中的內容是可變的,在做拼接時,不會建立新的物件。

public StringBuilder();                  // 建立一個空白可變字串物件
public StringBuilder(String str);
        String str = "ceshi";
        StringBuilder sa = new StringBuilder(str);
//      append()新增資料,返回物件本身
        sa.append("hello").append("world").append("java").append(100);
        System.out.println(sa);
//      public StringBuilder reverse(); 返回相反的字元序列
        sa.reverse();
        System.out.println(sa);

StringBuilder 和 String 相互轉換

// StringBuilder 轉為 String

StringBuilder sb = new StringBuilder();
sb.append("[");
String s = sb.toString();

// String 轉為 StringBuilder

StringBuilder s = new StringBuilder(String s) 

StringBuffer