Skip to main content

Use StringBuilder for concatenation of strings in loops

Medium
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;
}
}

}