| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 02:08:14
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
Aê pessoas!
Não sei se esse tipo de questão cai na prova, mas tava no mock...
Compila? Runtime Exception ? Imprime o q?
|
Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 07:59:05
|
ranophoenix
JavaEvangelist
![[Avatar]](/images/avatar/c8e3407440b018f4d16df.jpg)
Membro desde: 28/02/2004 22:49:47
Mensagens: 389
Offline
|
Acho que imprimiria: true,false
This message was edited 1 time. Last update was at 04/04/2005 08:15:36
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 08:25:10
|
andre_a_s
GUJ Ranger
![[Avatar]](/images/avatar/3328bdf9a4b9504b9398284244fe97c2.jpg)
Membro desde: 23/02/2003 01:04:53
Mensagens: 755
Localização: Santo André(SP)
Offline
|
ranophoenix wrote:Acho que imprimiria: true,false
Testei aqui e deu isso mesmo... mas pq a segunda opção deu false????
Um objeto.toString() é sempre igual a ele mesmo.toString() nao é?????
This message was edited 1 time. Last update was at 04/04/2005 08:26:14
|
Gosta de cerveja e de viagem?
Visite meu blog!
http://www.TravelAndBeer.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 09:06:33
|
thadeurc
JavaChild
![[Avatar]](/images/avatar/6c530aae768250b8d9c3c908a13ee287.jpg)
Membro desde: 25/10/2004 08:14:14
Mensagens: 130
Localização: São Paulo
Offline
|
Eu testei utilizando java i.5 e deu false, false.
Acho que dá false pelo fato de que ele cria as Strings quando chamamos o toString e elas não estão no pool de String. Ele utiliza (provavelmente) new String() creio eu.
|
http://blog.caelum.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 09:19:00
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline
|
Testei com a 1.4.2 e deu true, false.
Não entendi por que o segundo é false. Se ambos serão Strings "1.0".
|
------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."
http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 09:33:47
|
jehjeh
Entusiasta Java
Membro desde: 13/02/2004 10:50:30
Mensagens: 17
Offline
|
testei com 1.4.1 e deu false, false
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 09:55:38
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Realmente não entendí pq o primeiro dá true e o segundo dá false (JDK 1.4.2).
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 10:12:35
|
thadeurc
JavaChild
![[Avatar]](/images/avatar/6c530aae768250b8d9c3c908a13ee287.jpg)
Membro desde: 25/10/2004 08:14:14
Mensagens: 130
Localização: São Paulo
Offline
|
O fato de ele dar true ou false no primeiro não está relacionado com a comparação feita utilizando "==" para objetos comparar o endereço de memória??? é uma resposta não confiável vendo que estamos querendo comparar conteúdos. Se não me engano no Core java (ou no Deitel, nao me lembro ao certo) eh feito um alerta que quando utilizamos "==" para comparar Strings pode dar "problema". Sei que ele retorna true se as Strings estiverem sido criadas sem o uso do new String. POis elas estarao no Pool certo??
|
http://blog.caelum.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 10:26:59
|
andre_a_s
GUJ Ranger
![[Avatar]](/images/avatar/3328bdf9a4b9504b9398284244fe97c2.jpg)
Membro desde: 23/02/2003 01:04:53
Mensagens: 755
Localização: Santo André(SP)
Offline
|
thadeurc wrote:O fato de ele dar true ou false no primeiro não está relacionado com a comparação feita utilizando "==" para objetos comparar o endereço de memória??? é uma resposta não confiável vendo que estamos querendo comparar conteúdos. Se não me engano no Core java (ou no Deitel, nao me lembro ao certo) eh feito um alerta que quando utilizamos "==" para comparar Strings pode dar "problema". Sei que ele retorna true se as Strings estiverem sido criadas sem o uso do new String. POis elas estarao no Pool certo??
Mas ele criou os objetos do mesmo jeito!
Como pode funcionar pra um e nao para o outro???
Pau da JVM mesmo???
This message was edited 1 time. Last update was at 04/04/2005 10:28:01
|
Gosta de cerveja e de viagem?
Visite meu blog!
http://www.TravelAndBeer.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 10:42:24
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline
|
Dando uma olhada no código fonte do java.lang.Integer que eu tô usando talvez ajuda um pouco:
Ele retorna Strings não criados com new String(...) em alguns casos mais comuns(de -3 até 10 e tambem -2147483648). E assim retorna true, false com meu java pelo razões ditas pelo thadeurc.
Depende da implementação do Integer.toString(). Se ele sempre retorna o mesmo objecto String para o número 1 ou não.
E o classe Double aparentemente sempre cria um novo objeto String
Muito interessante, isso, Fabrício.
-Sami
This message was edited 1 time. Last update was at 04/04/2005 13:20:26
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 10:47:25
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline
|
andre_a_s wrote:
Mas ele criou os objetos do mesmo jeito!
Como pode funcionar pra um e nao para o outro???
Pau da JVM mesmo???
Os objetos Integer e Double são criados mais ou menos do mesmo jeito, mas a comparação é entre os objetos String. Que são criados(ou não) nos metodos Integer.toString() e Double.toString().
Ou seja: Ambos seriam false se não fosse pelo código do Integer.toString() que sempre retorna o mesmo String "1" em alguns versões do java.
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 10:49:40
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Muito tosco isso.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 11:48:46
|
thadeurc
JavaChild
![[Avatar]](/images/avatar/6c530aae768250b8d9c3c908a13ee287.jpg)
Membro desde: 25/10/2004 08:14:14
Mensagens: 130
Localização: São Paulo
Offline
|
Concordo em com o daniel.. muito tosco... tomara que questões como esta não caiam em provas pois deve dar dor de cabeça
|
http://blog.caelum.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 11:56:29
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Isso nem deveria cair na prova. Foge dos objetivos do SCJP.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2005 13:19:26
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline
|
Ah, com certeza não vai cair na prova real, não.
-Sami
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
|
|