Код, который вы дали, будет работать абсолютно нормально:
String suffix = "suffix";
int i = 0;
String string = Integer.toString(i);
string = string + suffix;
System.out.println(string); // 0suffix
Я предполагаю, что в вашем реальном коде вы не присваиваете результат переменной обратно.Обратите внимание, что оператор +
не изменяет существующую строку - он создает строку new .Итак:
String text = "text";
String copy = text;
text = text + "suffix";
System.out.println(copy); // Still just "text"; refers to original string