Ha már nagyon belemegyünk, akkor inkább a StringBuilder ajánlott, mert az nem szálbiztos, és valamivel gyorsabb.
De, ha csak egy ilyet írsz:
Kód:
String s = "sor_1\n" +
"sor_2\n" +
"sor_3\n";
Itt nem kell StringBuilder, mert a fordító ebből simán egy Stringet készít.
Valamint itt sem kell:
Kód:
System.out.println("a: " + a + ", b: " + b);
, mert ebből ez lesz a fordítás után:
Kód:
System.out.println(new StringBuilder().append("a: ").append(a).append(", b: ").append(b).toString());
Szóval feleslegesen nem kell erőlködni.
Ahol igazán számít, az pl. egy cikluson belül, mert ott nem tudja kitalálni a fordító, hogy mit is akarsz valójában.
Ehelyett
Kód:
String s = "";
for(int i = 0; i < 10; ++i){
s += "txt";
}
legyen mindig
Kód:
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 10; ++i){
sb.append("txt");
}
Könyvjelzők