[RESOLVIDO] Quantidade de Objetos criados!  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
rmalati
Virtual Machine Man
[Avatar]

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)"
[Email] [MSN]
Requena
Debugger
[Avatar]

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

rmalati
Virtual Machine Man
[Avatar]

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)"
[Email] [MSN]
Requena
Debugger
[Avatar]

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

rmalati
Virtual Machine Man
[Avatar]

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)"
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

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
[WWW]
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.
rmalati
Virtual Machine Man
[Avatar]

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)"
[Email] [MSN]
evertonsilvagomesjava
GUJ Master
[Avatar]

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.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

http://www.guj.com.br/posts/list/116352.java


[WWW]
evertonsilvagomesjava
GUJ Master
[Avatar]

Membro desde: 23/08/2009 13:14:01
Mensagens: 1924
Offline

thingol mas qual a certeza que "Fred" e "47" estavam no pool?
ViniGodoy
Moderador
[Avatar]

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
[WWW]
rmalati
Virtual Machine Man
[Avatar]

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)"
[Email] [MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team