| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 14:45:27
|
rhpestana
Entusiasta Java
Membro desde: 12/09/2008 09:08:32
Mensagens: 15
Offline
|
Pessoal,
Tenho uma classe que lê um arquivo texto e fornece um resumo dos dados lidos. Nessa minha classe, uso um objeto do tipo String para receber a linha lida e na sequencia uso o metodo split para atribuir os valores de cada campo (esse arquivo é delimitado por ",").
Bom, minha duvida é a seguinte, como String é um objeto imutável e o java criar várias instâncias em memória, e meu arquivo normalmente tem muitas linhas. Seria correto eu alterar essa minha classe para trabalhar com StringBuilder? Se sim, como eu faria o split de cada linha, já o StringBuilder não possui esse método??
[]s a todos,
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 15:14:44
|
Djonatah
JavaGuru
![[Avatar]](/images/avatar/9922aa62eb4eafdcea1bf84537bd4f24.jpg)
Membro desde: 11/05/2007 15:38:09
Mensagens: 204
Localização: São Bento do Sul - SC
Offline
|
Seria correto?
Seria.
Como fazer? Boa pergunta, eu olhei a documentacao da SUN, e pelos dados de lah voce mesmo pode fazer o split no braco, mas ach oque deve haver algo melhor, e epronto.
Abracos.
|
--------------------------------------------------
" Daria tudo o que sei, pela metade do que ignoro " - Descartes
" Tudo tem seu tempo, cada coisa tem sua ocasiao " - Eclesiastes 3 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 15:16:29
|
jolivier
JavaChild
![[Avatar]](/images/avatar/ed83abc794d56e2f418d6cce65a5276d.jpeg)
Membro desde: 04/08/2008 11:24:50
Mensagens: 101
Offline
|
O conceito de imutabilidade e muito relevante precisa conhecer bem oque defini um objeto imutavel colaca seu codigo para analise, provavelmente da forma que vc esta falando não havera problemas de imutabilidade
repito, precisa atentar bem com esse conceito.
|
Jolivier |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 15:31:08
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
Se você não for carregar o arquivo inteiro em memória, não será um problema usa somente Strings.
Leia uma linha, faça as operações que quiser nela, depois descarte a linha e os objetos criados, leia a próxima linha e repita até o fim. O descarte é automático casos eles sejam criados dentro de um escopo já passado.
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 16:03:42
|
f-schmitt
JavaChild
![[Avatar]](/images/avatar/5f96320c454aed712e4545adacdba754.jpg)
Membro desde: 29/07/2006 08:25:22
Mensagens: 116
Localização: Gravatal
Offline
|
Eu acredito que o GarbageCollector vai tratar disso, me corrijam se estiver enganado.....
|
Java, Clarion, HB++, PostgreSQL |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2008 16:22:51
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
Dei uma olhada na implementação da Sun do String.split()
Ele funciona usando o método String.subSequence(inicio, fim), passando os índices de começo e o fim de cada substring encontrada dentro da string sofrendo o split.
O subSequence não copia novas sequencias de caracteres, ele somente altera os índices de começo e fim da String, e as passa de volta.
Em termos simples:
As Strings retornadas pelo split na verdade são a mesma String. O consumo de memória é quase tão pequeno quanto como se fosse uma String só.
Tudo isso graça aos poderes imutáveis das Strings.
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2008 05:47:39
|
rhpestana
Entusiasta Java
Membro desde: 12/09/2008 09:08:32
Mensagens: 15
Offline
|
bom dia,
Obrigado a todos pela orientação.
[]s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2008 09:28:59
|
hugov
JavaEvangelist
Membro desde: 30/08/2004 14:14:23
Mensagens: 357
Offline
|
Não entendi muito bem a sua dúvida.
Mas você poderia fazer assim:
|
Vitor Hugo
Analista Desenvolvedor Java
WebLog : http://emdia.wordpress.com/
Skype : hugov_br
|
|
|
 |
|
|