toString()
Aşağıdaki 2 uygulama göz önüne alındığında , hangisinin tercih edildiği:
public String toString(){
return "{a:"+ a + ", b:" + b + ", c: " + c +"}";
}
veya
public String toString(){
StringBuilder sb = new StringBuilder(100);
return sb.append("{a:").append(a)
.append(", b:").append(b)
.append(", c:").append(c)
.append("}")
.toString();
}
?
Daha da önemlisi, sadece 3 özelliğimiz olduğunda, fark yaratmayabilir, ancak hangi noktada +
concat'tan hangi noktaya geçersiniz StringBuilder
?
StringBuilder
önceden ne kadar boyut tahsis edeceğinizi söyleyebilirsiniz , aksi takdirde, alan biterse, bir boyut oluşturarak boyutu iki katına çıkarmanız gerekir. yeni char[]
dizi daha sonra verileri kopyala - ki bu maliyetlidir. Boyutu vererek hile yapabilirsiniz ve daha sonra bu dizi oluşturma için gerek yoktur - eğer dize ~ 100 karakter uzunluğunda olacağını düşünüyorsanız o zaman StringBuilder bu boyuta ayarlayabilirsiniz ve asla dahili olarak genişletmek zorunda kalmayacaksınız.