Linux, Open-source, Programação e Produtividade

String X StringBuilder X StringBuffer

Jonas Abreu em 11/04/2012

Caso bem comum que muita gente ainda discute. Devo usar String, StringBuilder ou StringBuffer?

Só para lembrar:

  • String é uma String imutável (consequentemente é thread-safe)
  • StringBuilder é uma String mutável
  • StringBuffer é uma String mutável thread-safe

Qual devo usar quando estiver programando? String.

A maior parte do tempo não faz a menor diferença qual você usa. E é bem mais legível "a" + "b" que new StringBuilder("a").append("b").

Ah, mas o StringBuffer usa synchronized, então vai ser mais lento. Também não. Escape Analysis resolve esse problema, removendo o controle de lock se o StringBuffer for usado por apenas uma thread.

Creative Commons License
String X StringBuilder X StringBuffer de Jonas Abreu está licenciado sob Creative Commons License.