terça-feira, abril 05, 2011

usando equals em String

Outro dia um rapaz na empresa me perguntou qual seria a forma mais recomandada para uso do método equals para string. No seguinte formato:

Opção 1:

void algumMetodo(String s) {
  if (s.equals("")) {
    //faz algo
  }
}

Opção 2:
void algumMetodo(String s) {
  if ("".equals(s)) {
    //faz algo
  }
}

Para alguns pode ser que não faça a menor diferença, salvo gosto pessoal ou regras de implementação do projeto. Porém, expliquei pra ele que sem sombras de dúvidas, a segunda opção deve ser usada sempre por um motivo simples:

Se a "String s" passada no parametro for null, na opção 2  avaliação da condição simplesmente retorna false e não executaria o corpo do método. Na opção 1, seria lançada uma NullPointerException e o controle sairia do método.

Ele entendeu :)

j.

Nenhum comentário:

Postar um comentário