dúvida condição if

por favor, qual a diferença?

if (!formulario.getContato().getCPF().isEmpty()) {		
if(formulario.getContato().getCPF() != null  && !formulario.getContato().getCPF().equals("")){

isEmpty é um método, portanto se o valor retornado por formulario.getContato().getCPF() for null, irá provocar um NullPointerException.

x.isEmpty() é exatamente a mesma coisa que x.equals (""). Se quiser conferir, olhe o fonte de isEmpty.

achei a solução com um fera aqui do meu trampo:

  • o método isEmpty foi adicionado no Java 6 ou seja ambos funcionarão da mesma forma.

nao… os dois códigos nao sao rigorosamente equivalentes nao

Eu já tive problemas com o isEmpty() com a excessão que o amigo de cima falou, nullPointerException. Daria pra vc usar o length, verifica se o tamanho é igual ou diferente de 0(zero).

length() daria o mesmo nullpointer do isempty()…
caso a string seja nula