| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 20:26:05
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Boa noite!
To com a seguinte dúvida em relação a criação de objetos String.
Pergunta: Quantos objetos são criados?
Eu respondi 5, mas a resposta correta são 3 objetos.
Consigo visualizar 3 objetos: "Fred", "47" e "Fred47", mas os métodos substring() e toUpperCase() não criam objetos?
Alguém pode explicar?
Grato
This message was edited 1 time. Last update was at 23/02/2010 09:35:17
|
Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%
"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 20:30:05
|
Requena
Debugger
![[Avatar]](/images/avatar/92926624fcf6ffd24cab19fe3d5ad48f.jpg)
Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline
|
olha...
pra mim isso é pegadinha... hehehe....
mas pra mim os objetos sao..
s / "Fred" / 47;
47 é um Integer, "Fred" é uma String, e s tabmbém é uma String...
os outros casos nao criam novos objetos apenas os utiliza...
This message was edited 3 times. Last update was at 22/02/2010 20:51:57
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 21:03:42
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Mas vc tá dizendo que 47 é um inteiro e não uma String?
Então seriam 2 objetos e não 3 "Fred" e "Fred47"
Mas acho que não é isso não.
|
Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%
"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 21:15:40
|
Requena
Debugger
![[Avatar]](/images/avatar/92926624fcf6ffd24cab19fe3d5ad48f.jpg)
Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline
|
nao...
integer nao é objeto?
o.O
to dizendo que 47 é um integer que foi instanciado e depois transformado em String e depois concatenado com s e coloca em s
tendeu?
pq tipo... uma operação só pode ocorrer entre objetos...
entao.... foda essa pergunta pq tipo o
"public String metodo()" tb é um objeto do tipo Method se for ver por utilização ...
hauidhaiuhduiasd.... se considerar o objeto criado para o return pode-se dizer que tem uns 10obj nesse metodo ....
mas seco assim... de forma simples... objetos criados foram 3 para mim 2 String e 1 Integer
This message was edited 1 time. Last update was at 22/02/2010 21:17:54
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 21:40:35
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Entendi sim. hauahaau
Só não entendo pq os métodos não criam novos objetos.
Valeu pelas respostas
|
Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%
"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 22:23:16
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20584
Localização: Curitiba/PR
Online
|
Provavelmente ele assumiu que a linha: Obteve uma string do pool, nesse caso, não haveria criação de objeto naquela linha. Mas seria assumir algo injusto, já que normalmente questões desse tipo assumem que o pool está vazio. Ou ele perguntou "Qual é o menor número de objetos string que poderiam ser criados?" No caso do int, não é gerado um objeto, nem mesmo o wrapper. Essa operação era possível ainda no Java 4.
This message was edited 2 times. Last update was at 22/02/2010 22:27:57
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 22:27:19
|
weberdls
Debugger
Membro desde: 23/02/2007 13:52:13
Mensagens: 66
Offline
|
Esta questão já foi vastamente discutida aqui no GUJ.
[url]
http://www.guj.com.br/posts/list/125340.java#677523
[/url]
Literais são criados assim que a JVM carrega a classe em questão, portanto a primeira String > "Fred", já está criada e guardada num pool de Strings quando o método makeStrings() é
chamado e os outros três passos que realmente criam objetos... pelo que entendi nas discussões.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 22:40:00
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
ViniGodoy wrote:
Provavelmente ele assumiu que a linha:
Obteve uma string do pool, nesse caso, não haveria criação de objeto naquela linha. Mas seria assumir algo injusto, já que normalmente questões desse tipo assumem que o pool está vazio. Ou ele perguntou "Qual é o menor número de objetos string que poderiam ser criados?"
No caso do int, não é gerado um objeto, nem mesmo o wrapper. Essa operação era possível ainda no Java 4.
Então pelo que vc falou, seriam na verdade 4 objetos String?
Vini, boa noite!
Então ele pergunta: "Quantos objetos String serão criados quando este método for invocado?"
Obrigado.
This message was edited 1 time. Last update was at 22/02/2010 22:41:06
|
Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%
"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 23:34:41
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
Pois é...mas essa questão é meio injusta como diz o Vini, pq como ele iria assumir que "Fred" ja esta no pool de strings? Sendo assim realmente nao iria ser criado um objeto ali, mas do jeito que esta no exercicio pra mim o mais correto seria assumir que "Fred" não estaria no pool.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 23:41:26
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
http://www.guj.com.br/posts/list/116352.java
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2010 23:46:45
|
evertonsilvagomesjava
GUJ Master
![[Avatar]](/images/avatar/6370988b46be58caec00d925d91d2f99.png)
Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline
|
thingol mas qual a certeza que "Fred" e "47" estavam no pool?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2010 09:07:07
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20584
Localização: Curitiba/PR
Online
|
evertonsilvagomesjava wrote:thingol mas qual a certeza que "Fred" e "47" estavam no pool?
É por isso que a questão está mal formulada, a ponto de já terem sido criados 3 tópicos para ela.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2010 09:34:37
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Valeu ai pessoal, e desculpa por ter criado um tópico repetido.
Abraço.
|
Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%
"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)" |
|
|
 |
|
|