O que voc� disse n�o acontece mais, talvez desde a primeira vers�o mais est�vel do JDK (1.02, de 1996). Os objetos da classe String com o mesmo conte�do compartilham o mesmo espa�o de mem�ria. Nesse caso, em QUALQUER m�quina virtual existente, todos os if�s abaixo ir�o imprimir as suas respectivas mensagens, ou seja, todas as condi��es de compara��o nas linhas abaixo s�o verdadeiras.
Rosfran Lins Borges Analista de Sistemas - NDS [EMAIL PROTECTED] F�ton� Inform�tica e Servi�os Fone: (61) 328 5060 R.: 272 -----Mensagem original----- De: Elvis [mailto:[EMAIL PROTECTED]] Enviada em: ter�a-feira, 20 de agosto de 2002 11:56 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Problema de IF Jorge, O problema � que no instante que faz isso: String a1 = "A"; String a2 = "A"; Cada obj � um espa�o de mem�ria (caso String), � por isso que o Obj String � imut�vel. ent�o: if (a1 == a2){//compara se � o mesmo Handle e n�o �!!!! SOP("Nunca ir� imprimir isso"); } if (a1 == "A"){//compara se � o mesmo Handle e n�o �!!!! SOP("Nunca ir� imprimir isso"); } if (a1.equals(a2)){ SOP("Isso ser� impresso"); // pois o m�todo equals, reescrito na classe String, testa caracter por caracter. } if (a1.equals("A")){ SOP("Isso ser� impresso"); // pois o m�todo equals, reescrito na classe String, testa caracter por caracter. } a1 = a2; // coloca a1 para apontar para o handle de a2 if (a1 == a2){//compara se � o mesmo Handle. Agora �!!!! SOP("isso ser� impresso"); } []'s Elvis ----- Original Message ----- From: "Jorge Augusto Pizzato" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, August 20, 2002 8:09 AM Subject: Fw: [java-list] Problema de IF > Esqueci de colocar o motivo do teste feito: > Segundo o "famoso livro verde" pag. 447 objetos string s�o imut�veis e seu > conte�do de caracteres n�o pode ser modificado depois de criado. > Talvez em vers�es anteriores do SDK, mas na vers�o 1.4.0 o conte�do pode ser > alterado cfe. teste feito. > Existe a possibilidade ent�o de que voc� esteja utilizando uma vers�o do SDK > que n�o permita que um objeto string seja alterado (no seu caso quando > ls_vet_login[1] = rs.getString("tp_pessoa"); atribui "A" a string n�o pode > mais ser alterada para "Aluno"). > Se for este o caso, tente utilizar StringBuffer no lugar de string ou baixe > uma nova vers�o do SDK. > Se n�o for este o caso e o DB est� retornando o valor correto, n�o sei. > > > -----Mensagem Original----- > De: "Jorge Augusto Pizzato" <[EMAIL PROTECTED]> > Para: <[EMAIL PROTECTED]> > Enviada em: Segunda-feira, 19 de Agosto de 2002 11:53 > Assunto: Re: [java-list] Problema de IF > > > Verifique se o rs est� retornando com getString o valor apropriado. A l�gica > est� correta, tanto � que testei para ver. > ls_vet_login[1] = rs.getString("tp_pessoa"); est� colocando "A" no > array ? > > public class lixo { > > /** Creates a new instance of lixo */ > public lixo() { > String a = "A"; > String[] b = new String[2]; > b[0] = "C"; > b[1] = "A"; > System.out.println(a + " " + b[0] + " " + b[1]); > a = "BA"; > b[0] = "DC"; > if (b[1] == "A") b[1] = "Aluno"; > System.out.println(a + " " + b[0] + " " + b[1]); > } > > > -----Mensagem Original----- > De: "Ronaldo Negreiros L. Filho" <[EMAIL PROTECTED]> > Para: <[EMAIL PROTECTED]> > Enviada em: Quinta-feira, 15 de Agosto de 2002 15:22 > Assunto: [java-list] Problema de IF > > > Pessoal, > > Alguem poderia me ajudar com o c�digo abaixo??.. pq o array ls_vet_login[1] > n�o recebe a string "Aluno". > > if(rs != null) > { > if(rs.next()) > { > ls_vet_login[0] = rs.getString("ds_nome"); > ls_vet_login[1] = rs.getString("tp_pessoa"); > > principal.printlog("Vou chamar o if=A"); > if (ls_vet_login[1] =="A") > { > principal.printlog("Aluno"); > ls_vet_login[1]="Aluno"; > } > } > } > > Por favor me ajudem... > []�s > Ronaldo > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP > d�vidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- > > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.381 / Virus Database: 214 - Release Date: 02/08/02 > > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP > d�vidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
