No vídeo, o professor falou que se eu fizer a chamada no JSP a ${empresa.nome} ele irá tentar encontrar o referente a getNome() ou isNome(). Se eu tiver os dois métodos na minha classe, qual dos dois ele dará preferência?
No vídeo, o professor falou que se eu fizer a chamada no JSP a ${empresa.nome} ele irá tentar encontrar o referente a getNome() ou isNome(). Se eu tiver os dois métodos na minha classe, qual dos dois ele dará preferência?
Por convenção o IS deve ser usado para métodos que retornam valores lógicos (true ou false) e o GET para métodos que retornam outros tipos de valores.
Não faz sentido ter um método isNome() e outro getNome().
Provavelmente, ele procurará pelo método que começa com get (prioritariamente). Mas, o ideal é testar para descobrir.
Sim, meu exemplo foi errado. Poderia ser isPerson() e getPerson() por exemplo.
João, seu exemplo não foi errado.
O que quis dizer é que o get deve ser usado quando precisamos de uma informação "literal". Exemplo: nome de alguém, marca de um produto, etc.
Já o método começando com "is" deve ser usado quando precisamos de uma resposta do tipo "sim/não".
Por isto, dificilmente você terá um conflito com os nomes.
De qualquer forma, olhei a documentação e não descobri se o "get" é preferencial em relação ao "is".
O ideal é fazer o código e testar.
João o Gabriel tem toda razão, não faz sentido você criar um metodo como isNome para retornar o valor do nome na variavel. Sempre que você quiser um retorno sempre utiliza o metodo get! já o "is" retorna um boolean, o "is" verifica se o valor da variavel é null ou se tem dados guardado nela como por exemplo.
public void nomeVazio() {
if(getNome().isEmpty()) {
is é uma verificação se ta vazio ou não.
Já o get usamos sempre para retornar os valores da variavel.
}
}
Pessoal,
Respondendo a minha pergunta, o interpretador do JSP irá dar preferência para os métodos com a terminologia 'get' ao invés do 'is', realizei os testes aqui com os dois e o método que possuía o get sempre foi chamado ao invés do 'is'. Essa era a minha dúvida desde o começo.
Sobre a discussão de utilizar o getNome ou o isNome é irrelevante para a dúvida que postei. Foi apenas um exemplo de nome dos métodos.
Obrigado