1.显示的创建StringBuilder允许你为其预先指定大小,如果你已经知道最终的字符串大概有多长,那预先指定StringBuilder的大小可以避免多次重新分配缓存。因此,在位一个类编写toString()方法时,如果字符串操作比较简单,可以信赖编译器,它会为你合理地构造最终的字符串结果。但是,如果你要在toString()方法中使用循环,那么自己最好创建一个StringBuilder的对象,用它来构造最终的结果。
//: strings/UsingStringBuilder.java
import java.util.*;
public class UsingStringBuilder {
public static Random rand = new Random(47);
public String toString() {
StringBuilder result = new StringBuilder("[");
for(int i = 0; i < 25; i++) {
result.append(rand.nextInt(100));
result.append(", ");
}
result.delete(result.length()-2, result.length());
result.append("]");
return result.toString();
}
public static void main(String[] args) {
UsingStringBuilder usb = new UsingStringBuilder();
System.out.println(usb);
}
} /* Output:
[58, 55, 93, 61, 61, 29, 68, 0, 22, 7, 88, 28, 51, 89, 9, 78, 98, 61, 20, 58, 16, 40, 11, 22, 4]
*///:~
2.String类常用的操作:length(),charAt(),toCharArray(),getChars(),getBytes(),equals(),contains(),startsWith(),endsWith(),indexOf(),lastIndexOf(),subString(),concat(),replace().trim()等。
其中,getChars(),getBytes()为复制char或byte到一个目标数组中。toCharArray为将其转换为一个char数组。