Comparação de String

12 respostas
AlencarCanton

E ae galera,
beleza?

To com um problema aqui,
Eu salvo um objeto no banco e um dos seus atributos é o “Nome”,
Quando vou fazer uma consulta tenho um “if” que verifica se esse Nome é nulo,só que ele não entra nesse “if”…já mandei imprimir na tela o valor desse atributo e ele imprime: null
já verifiquei no banco e é salvo como null…
essa é a comparação que estou fazendo:

if (nome.equals(""))

tb ja tentei assim: if (nome.equals(null)){

assim: if (nome.equals(null)){

e assim: if (nome==null){

como eu faço?
vlw!

12 Respostas

ViniGodoy

Já tentou usar um depurador?
Poste o resto do seu código, não é possível adivinhar o que você fez. E siga essas dicas ao faze-lo:

AlencarCanton
String nome = fornec.getNome();         // "nome" recebe o atributo nome do banco
        System.out.println(nome);                   //  Imprime "null"
        if (nome.equals("null")){                     //   Não entra nesse IF
            tfContato1.setText(fornec.getContato());
            tfContato1.updateUI();
        }

Esse é o resto do código.
Nunca tentei,como faço?

programadora

Olá. Se vc quer testar se o nome é nulo, sugiro que você faça:

if (nome == null)

Vlw

JonaTHANNM

verifique primeiro se esse fornec não é null

if(fornec.equals(null) || fornec.getNome().equals(null)){
...
}
ViniGodoy

JonaTHANNM:
verifique primeiro se esse fornec não é null

if(fornec.equals(null) || fornec.getNome().equals(null)){ ... }

Você quis dizer:

if(fornec == null || fornec.getNome() == null){

Certo? Caso contrário, a chamada ao equals irá disparar exceção.

Alencar, seria interessante você postar o código de como você está carregando o nome do banco. Se for via JDBC, o valor null nunca será retornado, é para isso que serve o método wasNull da classe Statement.

nel

JonaTHANNM:
verifique primeiro se esse fornec não é null

if(fornec.equals(null) || fornec.getNome().equals(null)){ ... }

Oi!

Se fornec for nulo, não acha que vai lançar um “NullPointerException”? :slight_smile:

Abraços.

JonaTHANNM

não, pq justamente vc já está prevenindo que isso aconteca…
pq se vc for pegar um valor direto do fornec sem verificar se ele é nullo, ai sim que vai da a exception…
mas como ele está em um if, vc não vai conseguir pegar o valor…

nel

JonaTHANNM:
não, pq justamente vc já está prevenindo que isso aconteca…
pq se vc for pegar um valor direto do fornec sem verificar se ele é nullo, ai sim que vai da a exception…
mas como ele está em um if, vc não vai conseguir pegar o valor…

Tem duas opções:

1 - Não está prestando atenção no que está fazendo.
2 - Não leu o que eu disse com anteção e nem o que o Viny disse acima

Caro amigo, se fornec for nulo, vai estar fazendo isso:

null.equals(null)

Acha que esse tipo de código funciona, mesmo em um if?
Abraços.

JonaTHANNM

nel:
JonaTHANNM:
não, pq justamente vc já está prevenindo que isso aconteca…
pq se vc for pegar um valor direto do fornec sem verificar se ele é nullo, ai sim que vai da a exception…
mas como ele está em um if, vc não vai conseguir pegar o valor…

Tem duas opções:

1 - Não está prestando atenção no que está fazendo.
2 - Não leu o que eu disse com anteção e nem o que o Viny disse acima

Caro amigo, se fornec for nulo, vai estar fazendo isso:

null.equals(null)

Acha que esse tipo de código funciona, mesmo em um if?
Abraços.


ta bom velho, eu escrevi la e ele me corrigiu.

era esse tipo de msg que vc queria ler aqui ?

agora custa em vez de vc tentar me corrigir (coisa que já foi feita) tentar ajudar o parceiro com a dúvida?

se não nem venha atrapalhar

obrigado.

nel

JonaTHANNM:
nel:
JonaTHANNM:
não, pq justamente vc já está prevenindo que isso aconteca…
pq se vc for pegar um valor direto do fornec sem verificar se ele é nullo, ai sim que vai da a exception…
mas como ele está em um if, vc não vai conseguir pegar o valor…

Tem duas opções:

1 - Não está prestando atenção no que está fazendo.
2 - Não leu o que eu disse com anteção e nem o que o Viny disse acima

Caro amigo, se fornec for nulo, vai estar fazendo isso:

null.equals(null)

Acha que esse tipo de código funciona, mesmo em um if?
Abraços.


ta bom velho, eu escrevi la e ele me corrigiu.

era esse tipo de msg que vc queria ler aqui ?

agora custa em vez de vc tentar me corrigir (coisa que já foi feita) tentar ajudar o parceiro com a dúvida?

se não nem venha atrapalhar

obrigado.

Ensinar errado é que realmente atrapalha alguém em uma dúvida.
O que eu fiz, assim como o Viny (pois quando cliquei em “responder” o Viny ainda não havia respondido nada) eu quis mostrar que você estava equivocado no que estava afirmando, assim, corrigi você e ao mesmo tempo, ajudei o amigo com o tópico. Logo após, você ainda persiste e diz que não havia erro no que havia dito, eu simplesmente provei que sim, havia um erro.

Sem estresse amigo, é um fórum e qualquer um pode se equivocar quando expressa uma opinião.
Abraços.

JonaTHANNM

cara, desculpa se não sou igual a vc que nunca escreveu errado ta bom?
e que bom que vc conseguiu ajudar o nosso colega.
e se vc ele ainda não tinha respondido e mesmo assim saiu a resposta dele antes que a sua, é pq vc fico se enrolando para escrever 3 linhas…
e eu por acaso disse que não tinha erros no que eu escrevi?
eu me expressei certo, porém a linha do if saiu errado.
pronto
o cara la ja me corrigiu antes, não precisava vir interferir de novo…

leo_mf

Vou cancelar minha conta no GUJ.

Criado 6 de junho de 2011
Ultima resposta 6 de jun. de 2011
Respostas 12
Participantes 6