Eventuali duplicati:
StringBuilder vs String concatenation in toString() in JavaPerché utilizzare StringBuilder in modo esplicito se il compilatore converte automaticamente la concatenazione della stringa in un oggetto StringBuilder?
Mi chiedo, dal momento che il compilatore utilizza internamente uno StringBuilder per aggiungere 2 stringhe durante l'esecuzione concatenazione di stringhe, allora qual è il punto e perché dovrei preoccuparsi utilizzando StringBuilder se la concatenazione di stringhe ha già fatto il lavoro per te? Ci sono altri motivi specifici?
@ JohanSjöberg sì, in effetti lo fa. Facendo 'result + = bar (foo [i])' produrrà un codice simile (assumendo javac) 'result = new StringBuilder(). Append (result) .append (foo [i]). ToString()'. Si noti che questo è molto più lavoro che usare uno 'StringBuilder'. – oldrinb
@ JohanSjöberg il punto è che __il campione non è equivalente__ – oldrinb
Non sono ancora chiaro perché ?? È perché richiede di copiare oltre la vecchia stringa (precedente) prima che faccia la concatenazione per il primo campione? – peter