String.equals não verifica ! [ R E S O L V I D O ]
13 respostas
T
technobauru
Olá pessoal estou fazendo um teste para selecionar o JRadio correto retornado das informações do Banco, mas estou detectando que o equals não está conferindo com a String do Banco, mas está idêntico sim.
Segue o trecho:
Tenta tirar o 17 do res.getString(17) pra ver se funciona.
ViniGodoy
Pq não tenta usar o debugger?
No lugar daquele 17, tente usar uma constante. Evite números mágicos no seu código.
Se res for um resultset, prefira sempre o nome da coluna, ao invés do número. Não só fica muito mais claro e evita erros, como também deixa o seu código menos sensível a mudanças no banco de dados.
P
palmadias
será que sua string do banco não esta vindo com espaço em branco… tente usar
AL_Status.trim().equalsIgnoreCase("Trabalhando")
T
thingol
Dependendo de como está configurado o banco, ele pode lhe retornar uma string completada com espaços em branco à direita. Se estiver ocorrendo isso, pegue a string de retorno do banco, e aplique “trim()”:
StringAL_Status=res.getString(17).trim();
von.juliano
Talvez esteja trazendo espaços em branco. Tente:
AL_Status.trim().equalsIgnoreCase("Trabalhando")
Flw! :thumbup:
T
technobauru
Este 17 é da Select do Banco, está correto acredito, pois pode perceber que na próxima linha tenho um OptionPane, e este me mostra perfeitamente a String que foi coletada no Banco …
T
technobauru
SÓ TEM FERA AQUI !!!
ERA OS ESPAÇOS MESMO, “TRIM” PRAMIM ERA PARA CORTAR AS UNHAS !! EHEHE
OBRIGADÃO, SEMPRE QUE POSTO NOS FÓRUNS JÁ FUCEI MUITO NOS OUTROS TÓPICOS.
ATÉ !!!
ViniGodoy
De qualquer forma, prefira o nome da coluna:
String al_status = rs.getString(“al_status”);
Vai ser muito mais claro do que o 17.
ViniGodoy
PS: Esse é o tipo de coisa que facilmente você veria com o depurador, que comentei ali em cima. Seja como for, aprenda a usar essa ferramenta. Ela está entre as mais importantes na vida de um programador.
T
technobauru
PS: Esse é o tipo de coisa que facilmente você veria com o depurador, que comentei ali em cima. Seja como for, aprenda a usar essa ferramenta. Ela está entre as mais importantes na vida de um programador.
Vou procurar sim amigo, é que estou utilizando o JCreator para desenvolver… assim pratico melhor.
Mas obrigado de qualquer forma.
ViniGodoy
Não é desculpa. Ele também tem debugger.
Além disso, não esquece de trocar lá o 17 pelo nome do campo.
Senão, basta vc adicionar uma coluna no início da tabela para ferrar todo seu código.
T
thingol
ViniGodoy:
De qualquer forma, prefira o nome da coluna:
String al_status = rs.getString(“al_status”);
Vai ser muito mais claro do que o 17.
Sem contar que leva exatamente o mesmo tempo para executar, conforme alguns testes de desempenho que efetuei algum tempo atrás. Portanto, prefira o nome em vez do número.