2009年2月3日 星期二

QUESTION 8----String、StringBuffer、StringBuilder

String--特性:immutable(永遠不變), 字串變化可使用運算子「+」或是concat()方法
StringBuffer---特性:mutable ; thread-safe ; 可使用的方法substring()、replace()、delete()
StringBuilder--特性:mutable ;non-thread-safe ; 可使用的方法substring()、replace()、delete()

substring public String substring(int beginIndex, int endIndex)
substring 回傳值為string,
參數:
beginIndex - 起始索引(包括)。
endIndex - 結束索引(不包括)。

但replace()、delete() 回傳值為StringBuffer或StringBuilder

所以substring()與delete()併用時可能會發生錯誤的用法:
EX:
SringBuilder s=new StringBuilder("123456789");
s.substring(0,5).delete(0,3).replace(0,3,"Java");
System.out.println(s);
會造成編譯錯誤(cannot find symbol)!

沒有留言:

張貼留言