Ich habe mich immer daran erinnert, dass es schneller ist, Zeichen vom Typ String mit dem StringBuilder-Anhang meines Vorgesetzten auf der vorherigen Site zu verketten, aber das Nachschlagewerk, das ich jetzt studiere, erwähnt dies auch. Also wollte ich üben, wie schnell es wirklich ist.
stringBuilderTest.java
public class StringBuilderTest {
public static void main(String[] args) {
String name = "";
long start = System.currentTimeMillis();
for(int i=1; i<=1000; i++){
name += "tanaka, ";
};
long end = System.currentTimeMillis();
System.out.println("+Verknüpfen: "+(end - start) + "ms");
StringBuilder sb = new StringBuilder();
long start2 = System.currentTimeMillis();
for(int i=1; i<=400000; i++){
sb.append("tanaka, ");
};
String name2 = sb.toString();
long end2 = System.currentTimeMillis();
System.out.println("StringBuilder.Verkettung anhängen: "+(end2 - start2) + "ms");
}
}
Ergebnis.java
+Verknüpfen: 24ms
StringBuilder.Verkettung anhängen: 27ms
Wie Sie an der Häufigkeit sehen können, mit der die for-Anweisung gedreht wird, dauert es 1000 ms, um die Verkettung mit + 1000 Mal auszuführen, und die Verkettung zum Anhängen wird 400.000 Mal mit 27 ms ausgeführt. Auch wenn Sie es nur einige Male ausführen, sollten Sie bedenken, dass die vorherige Site auch die for-Anweisung in Einheiten von 10.000 gedreht hat.