if (cpf.equals(bene.getCpf())){
resposta = “Existe outro Beneficiário cadastrado com este CPF!”;
}else if (cpf.equals(null)){
boolean verifica = false;
verifica = cadastraBeneficiario(bene);
if (verifica==true){
resposta = “Beneficiário cadastrado com sucesso!”;
}
}
No if verifico se “cpf” esta preenchido com o resultado de uma busca sql. Se esta preenchido, ok! se não, da nullPointerException já tentei diversas formas mas não consigo. Poderiam me ajudar como faço para verificar se esta variavel String esta nula.
Valeu.
Para vc saber se a linha está como null ou não use o recurse debug. Assim vc debuga o cod e verifica se os dados recebidos e enviados estão corretos.
Se eu cod estiver dando erro envie o log do erro.
Pra ver se a String é nula tenta o isEmpty().
Olha, se você quer verificar se um objeto está null, não pode usar o método equals… se o objeto estiver null vai lançar NullPointer mesmo não tem como acessar um método de um objeto que não existe.
E se você for fazer essa verificação ela tem que ser a primeira das validações, se não não adianta.
Tenta isso ai pra ver se te ajuda
if (cpf != null && cpf.equals(bene.getCpf())) {
resposta = "Existe outro Beneficiário cadastrado com este CPF!";
} else if (cadastraBeneficiario(bene)) {
resposta = "Beneficiário cadastrado com sucesso!";
}
Também não adiantaria, não se pode acessar um método de um objeto nulo.
Sempre que fazer esse tipo de verificação tem que usar os operadores == ou !=
Rodei o debug e esta retornando null. O erro que dá esta abaixo:
Erro:
Exception in thread “main” java.lang.NullPointerException
at portalDAO.AtuCadastralDAO.pesquisaCpfCadastrado(AtuCadastralDAO.java:188)
at portalCTR.AtuCadastralCTR.pesquisaCpfCadastrado(AtuCadastralCTR.java:87)
at portalCTR.AtuCadastralCTR.main(AtuCadastralCTR.java:106)
Esta linha 188 é a: if (cpf.equals(bene.getCpf())){
Tenta isso:
if (cpf == null){
resposta = "Por favor informe o CPF do beneficiário!";
} else if (cpf != null && cpf.equals(bene.getCpf())) {
resposta = "Existe outro Beneficiário cadastrado com este CPF!";
} else if (cadastraBeneficiario(bene)) {
resposta = "Beneficiário cadastrado com sucesso!";
}
A questão é saber ao motivo de ocorrer uma NullPointerException:
Isso ocorre quando se tenta invocar um método de um objeto que é nulo (ou seja, igual a null). null em Java indica NADA, ABSOLUTAMENTE NADA e você não pode executar algo do NADA.
Assim, isso que aconteceu pra você poderia ocorrer com objetos de qualquer tipo, não só com Strings.
Uma confusão comum é confundir algo VAZIO com algo NULO em Java. Vazio é aquilo que foi instanciado porém não teve nenhum atributo alterado. NULO é aquilo que sequer foi instanciado.
Assim, você não tem como verificar se uma String NULA foi preenchida. Isso dá erro mesmo, entendeu?
Por isso que deves fazer como o colega ai ensinou: primeiro testar se a String não é nula e depois ver se, não sendo nula, está preenchida.
[code] public boolean validar()
{
if (cpf.getText().isEmpty()){
resposta = "Existe outro Beneficiário cadastrado com este CPF!";
return false;
} else
resposta = "Beneficiário cadastrado com sucesso!";
return true;
}[/code]
ai chama ele assim
[code]if (validar()){
//seu metodo
return;
}[/code]
Usei sua dica do Willian Balan e funcionou, muito obrigado!
E muito obrigado a todos que responderam este tópico.
Valeu pessoal!
O tipo String é uma classe! e consequentemente vc instancia um objeto!
Para verificar se um objeto é nulo vc utiliza == ou !=
Boa sorte!