Teste de Array

2 respostas
luiscesarinfo

Pessoal, preciso que me ajudem no seguinte :

fiz uma declaração de um array como o seguinte :

private String acessoSistema;

em um determinado ponto do sistema estou utilizando a seguinte instrução:

int tamanhoStr= (bancoAGR.getAcessoSistema()).equals(null)?0: (bancoAGR.getAcessoSistema().length - 1);

O eclipse não acusa nenhum erro mas quando o método está null, ocorre um NullPointerException.

Alguém pode me ajudar ?

2 Respostas

marciocamurati

Cara, porque a comparação de null com equals ? - Você está tendo uma exception em RunTime por esse motivo o Eclipse não irá acusar ela durante a “digitação” do código ele não tem como saber como você irá preencher os objetos antes do sistema estar rodando.

Imagine essa situação no seu sistema:

Você tem a verificação:

bancoAGR = new BancoAGR();
bancoAGR.setAcessoSistema("ok");
....
int tamanhoStr= (bancoAGR.getAcessoSistema()).equals(null)?0: (bancoAGR.getAcessoSistema().length - 1);

Executando em seu sistema, poderiamos estar assim:

bancoAGR = new BancoAGR();
....
int tamanhoStr= (null).equals(null)?0: (bancoAGR.getAcessoSistema().length - 1);

No caso null não possui o método equals() correto ? Já que ele pertence a classe String, estorando um NullPointerException, agora se você tivesse isso:

bancoAGR = new BancoAGR();
....
int tamanhoStr= (null !=null)?0: (bancoAGR.getAcessoSistema().length - 1);

Resolveria seu problema de exception.

[]s

luiscesarinfo

Muito obrigado pela explicação. Mas não resolve o meu problema. Se alguém tiver mais alguma dica…

vlw.

Criado 19 de novembro de 2007
Ultima resposta 19 de nov. de 2007
Respostas 2
Participantes 2