Tak, tworzona jest masa pomocniczych Stringów co jest szalenie niewydajne.
Użyj StringBuilder:
String arrayToString(String[] array) {
StringBuilder builder = new StringBuilder();
for (String s: array){
builder.append(s);
builder.append(' ');
}
return builder.toString();
}
JVM każe ci zainicjować zmienną temp, ponieważ następuje z niej odczyt w linijce:
temp += zmienna2[i] + " ";
To w rzeczywistości:
temp = temp + (zmienna2[i] + " ");
Zapisujesz do niej coś, ale najpierw odczytujesz