Skip to content

Instantly share code, notes, and snippets.

@diegogaulke
Last active August 29, 2015 14:13
Show Gist options
  • Save diegogaulke/a4b5dd766aa5cd2d845a to your computer and use it in GitHub Desktop.
Save diegogaulke/a4b5dd766aa5cd2d845a to your computer and use it in GitHub Desktop.
Utilização correta do StringBuilder
// Não utilizar o operador '+' para concatenar strings no StringBuilder.
// Sempre utilizar o método append().
// Para cada concatenação dentro do append com o operador '+', a VM cria um novo StringBuilder.
// Isso gera uma criação desnecessária de objetos, tendo gasto com processamento e memória e também atrapalhando a GC.
// Ruim
StringBuilder sql = new StringBuilder();
sql.append("select * from tabela ");
sql.append("where ");
sql.append("id = " + id); // aqui a VM gera: sql.append(new StringBuilder().append("id = ").append(id));
// Bom
StringBuilder sql = new StringBuilder();
sql.append("select * from tabela ");
sql.append("where ");
sql.append("id = ");
sql.append(id);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment