[java-list] problema comparando strings
Ola todos, estou tentando implementar um esquema de controle de fluxo em formulários onde coloco uma string no Session e outra no request, e através da comparação entre as duas eu verifico se o form ja foi preenchido e se o usuário clicou em voltar. Mas estou tendo o seguinte problema: String requestToken = (String) req.getParameter(token); System.out.println(CommandToken : isValid : requestToken: + requestToken); String sessionToken = (String) session.getAttribute(token); System.out.println(CommandToken : isValid : sessionToken: + sessionToken); /* Através dos System.out.println eu verifico que as String são IGUAIS! */ if (requestToken == null || sessionToken == null) return false; else{ boolean flag = requestToken.equals(sessionToken); /* mas essa comparacao está retornando FALSE! */ System.out.println(CommandToken : isValid requestToken.equals(sessionToken): + flag); return flag; } o q pode ser? []´s Daniel A. -- 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 para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] problema comparando strings
Espaços no final de uma das Strings... talvez... -Mensagem original- De: Daniel A. Melo [mailto:[EMAIL PROTECTED]] Enviada em: Thursday, May 03, 2001 12:58 PM Para: java-list Assunto: [java-list] problema comparando strings Ola todos, estou tentando implementar um esquema de controle de fluxo em formulários onde coloco uma string no Session e outra no request, e através da comparação entre as duas eu verifico se o form ja foi preenchido e se o usuário clicou em voltar. Mas estou tendo o seguinte problema: String requestToken = (String) req.getParameter(token); System.out.println(CommandToken : isValid : requestToken: + requestToken); String sessionToken = (String) session.getAttribute(token); System.out.println(CommandToken : isValid : sessionToken: + sessionToken); /* Através dos System.out.println eu verifico que as String são IGUAIS! */ if (requestToken == null || sessionToken == null) return false; else{ boolean flag = requestToken.equals(sessionToken); /* mas essa comparacao está retornando FALSE! */ System.out.println(CommandToken : isValid requestToken.equals(sessionToken): + flag); return flag; } o q pode ser? []´s Daniel A. -- 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 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 para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] problema comparando strings
As Strings sao iguais, mas nao sao o mesmo object.Por isso o == nao funciona. Voce tem que testar com if(stringA.equals(stringB)) ... Abracos, Marcelo Quintella Em 03 May 2001, Daniel A. Melo escreveu: Ola todos, estou tentando implementar um esquema de controle de fluxo em formulários onde coloco uma string no Session e outra no request, e através da comparação entre as duas eu verifico se o form ja foi preenchido e se o usuário clicou em voltar. Mas estou tendo o seguinte problema: String requestToken = (String) req.getParameter(token); System.out.println(CommandToken : isValid : requestToken: + requestToken); String sessionToken = (String) session.getAttribute(token); System.out.println(CommandToken : isValid : sessionToken: + sessionToken); /* Através dos System.out.println eu verifico que as String são IGUAIS! */ if (requestToken == null || sessionToken == null) return false; else{ boolean flag = requestToken.equals(sessionToken); /* mas essa comparacao está retornando FALSE! */ System.out.println(CommandToken : isValid requestToken.equals(sessionToken): + flag); return flag; } o q pode ser? []´s Daniel A. -- 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 para sair da lista: envie email para [EMAIL PROTECTED] - -- _ Oi! Você quer um iG-mail gratuito? Então clique aqui: http://registro.ig.com.br/ -- 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 para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] problema comparando strings
Oi Quando voce faz o seguinte teste: str1 == str2 voce esta comparando apenas referências de duas instâncias da classe String e nao o valor das strings. Voce deve usar o método equals: str1.equal(str2) str1 == str2 só funciona se os objetos forem criados sem o uso do 'new' por exemplo: String str1 = Teste; String str2 = Teste; String str3 = new String(Teste); str1 == str2 retorna true str1 == str3 ou str2 == str3 retorna false e em qualquer caso com o uso do equals retorna true. Isso por causa da forma que objetos da classe String são instanciados. Quando um objeto desta classe é criado sem o new, este objeto é colocado em um pool de instâncias da classe String. Se um objeto igual já tiver sido criado (como no caso de str2), um novo objeto não é criado e a referência do existente é atribuida. estou tentando implementar um esquema de controle de fluxo em formulários onde coloco uma string no Session e outra no request, e através da comparação entre as duas eu verifico se o form ja foi preenchido e se o usuário clicou em voltar. []'s -- Edward Roe -- 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 para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] problema comparando strings
Minha primeira tentativa seria eliminar os possiveis espacos no inicio e no final das String. boolean flag = requestToken.trim().equals(sessionToken.trim()); Se ainda nao funcionar, faz uma funcao de comparacao, e descobre onde elas diferem. On Thu, 03 May 2001, Daniel A. Melo wrote: Ola todos, estou tentando implementar um esquema de controle de fluxo em formulários onde coloco uma string no Session e outra no request, e através da comparação entre as duas eu verifico se o form ja foi preenchido e se o usuário clicou em voltar. Mas estou tendo o seguinte problema: String requestToken = (String) req.getParameter(token); System.out.println(CommandToken : isValid : requestToken: + requestToken); String sessionToken = (String) session.getAttribute(token); System.out.println(CommandToken : isValid : sessionToken: + sessionToken); /* Através dos System.out.println eu verifico que as String são IGUAIS! */ if (requestToken == null || sessionToken == null) return false; else{ boolean flag = requestToken.equals(sessionToken); /* mas essa comparacao está retornando FALSE! */ System.out.println(CommandToken : isValid requestToken.equals(sessionToken): + flag); return flag; } o q pode ser? []´s Daniel A. -- 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 para sair da lista: envie email para [EMAIL PROTECTED] - _ Get your name as your email and web site address. http://www.NetIdentity.com. Be somebody online. -- 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 para sair da lista: envie email para [EMAIL PROTECTED] -