Предполагая, что строки a и b:
a += b
a = a.concat(b)
Под капотом они одно и то же?
Здесь concat декомпилируется как ссылка. Я хотел бы также декомпилировать оператор +, чтобы увидеть, что это делает.
public String concat(String s) {
    int i = s.length();
    if (i == 0) {
        return this;
    }
    else {
        char ac[] = new char[count + i];
        getChars(0, count, ac, 0);
        s.getChars(0, i, ac, count);
        return new String(0, count + i, ac);
    }
}
