Use StringBuilder for concatenation of strings in loops
JavaClean codecsharp
Avoid using the + operator to concatenate strings in loops. StringBuilder implies that we are building a string. That improves the code readability.
Examples
Example 1:
Positive
Correct implementation following the practice.
package org.main;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> items = new ArrayList();
StringBuilder sb = new StringBuilder();
for (String item : items) {
sb.append(item);
}
String result = sb.toString();
}
Negative
Incorrect implementation that violates the practice.
package org.example;
import java.util.ArrayList;
import java.util.List;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
private void ListInitialisation() {
ArrayList<Integer> list = new ArrayList<>(100);
}
public void concat() {
List<String> items = new ArrayList<>();
String result = "";
for (String item : items) {
result = result + item;
}
}
}