Quando precisamos trabalhar com objetos do tipo String
onde desempenho e flexibilidade são indispensáveis,
e onde não há necessidade de sincronização de seus métodos,
recorremos a Classe StringBuilder.
dados de Strings são criados e manipulados através
desta classe de forma dinâmica, onde modificar
é um dos pontos de maior vantagem da StringBuilder.
Todos já sabemos que Strings são imutáveis,
isto é, seu valor não pode ser alterado após
a atribuição, então parece um tanto confuso
entender como conseguimos concatenar novas strings
a atribuída na declaração.
Na verdade o que ocorre é que novos objetos são criados
na memória, fazendo com que o processamento fique
mais carregados.
A concatenação de String através de StringBuilder,
é feita invocando o método append que aloca nova strings
más não são feitas novas cópias dos objetos já criados.
Se as Strings são imutáveis, o StringBuilder é mutável,
e as concatenações são realmente feitas, e a criação
de novos objetos na memória não se fez necessário,
como quando concatenamos String com o método concat
da classe String.
Se a parte teórica da StringBuilder parece tediosa e complicada
sua parte prática não oferece nenhuma complicação,
então porque não mostrarmos agora um exemplo começando
por exibir uma concatenação com o método append?
Veja abaixo uma imagem do programa em execução:
onde desempenho e flexibilidade são indispensáveis,
e onde não há necessidade de sincronização de seus métodos,
recorremos a Classe StringBuilder.
dados de Strings são criados e manipulados através
desta classe de forma dinâmica, onde modificar
é um dos pontos de maior vantagem da StringBuilder.
Todos já sabemos que Strings são imutáveis,
isto é, seu valor não pode ser alterado após
a atribuição, então parece um tanto confuso
entender como conseguimos concatenar novas strings
a atribuída na declaração.
Na verdade o que ocorre é que novos objetos são criados
na memória, fazendo com que o processamento fique
mais carregados.
A concatenação de String através de StringBuilder,
é feita invocando o método append que aloca nova strings
más não são feitas novas cópias dos objetos já criados.
Se as Strings são imutáveis, o StringBuilder é mutável,
e as concatenações são realmente feitas, e a criação
de novos objetos na memória não se fez necessário,
como quando concatenamos String com o método concat
da classe String.
Se a parte teórica da StringBuilder parece tediosa e complicada
sua parte prática não oferece nenhuma complicação,
então porque não mostrarmos agora um exemplo começando
por exibir uma concatenação com o método append?
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
public class PROJETO {
public static void Inform ( ) {
J jht = new J ( );
//
////////////////////////////////////////////////////
// Parâmetros da função printfx
// Coord x, Coord y, String, cor de frente,
cor de fundo,
// Comprimento, Tempo, frequência, duração.
jht.printfx ( 22, 18, "Por: ", 12, 15, 5, 0, 1000, 200 );
jht.printfx ( 27, 18, "Samuel
Lima", 9, 15, 11, 0, 0, 0 );
jht.printfx ( 22, 19, "sa_sp10@hotmail.com", 0, 15, 20, 1800, 0, 0 );
jht.printfx ( 35, 22, "MUITO
OBRIGADO", 12, 15, 15, 0, 0, 0 );
}
public static void main ( String [ ] args ) throws Exception {
J jht = new J ( );
int i;
jht.Moldura ( 1, 24, 2, 78, 15 );
jht.poscolor ( 20, 2, 12, 15 );//StringBuilder
System.out.println ( "STRINGBUILDER
- INICIALIZAÇÃO E CONCATENAÇÃO" );
//
//////////////////////////////////////////////////////////
StringBuilder str = new StringBuilder (
"Engenharia\n\t\t\t");
str.append("Medicina\n\t\t\t");
str.append("Arquitetura\n\t\t\t");
str.append("Jornalismo\n\t\t\t");
str.append("Biologia\n\t\t\t");
//
//////////////////////////////////////////////////////////
jht.poscolor ( 20, 4, 9, 15 );
System.out.printf ( "Impressão da
StringBuilder" );
jht.poscolor ( 24, 6, 0, 15 );
System.out.print ( str );
//A coluna esquerda da moldura está sendo
//refeita através deste método apaga
jht.Apaga ( 4, 26, 0, 2, 14 );
//////////////////////////////////////////////////////
Inform ( );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.