public int hashCode() { final int prime = 31; int result = 1; //na linha abaixa como é interpretado a ? result = prime result + ((nome == null) ? 0 : nome.hashCode()); result = prime result + numeroMatricula; return result; }
public int hashCode() { final int prime = 31; int result = 1; //na linha abaixa como é interpretado a ? result = prime result + ((nome == null) ? 0 : nome.hashCode()); result = prime result + numeroMatricula; return result; }
Este é um caractere característico do operador ternário em java.
Ele funciona da seguinte forma:
(condicao) ? executaSeCondicaoVerdadeira : executaSeCondicaoFalsa;
Que é o mesmo que escrever com if
e else
:
if(condicao){
//executaSeCondicaoVerdadeira
} else {
//executaSeCondicaoFalsa
}
Sendo assim este código:
result = prime * result + ((nome == null) ? 0 : nome.hashCode());
Equivale a:
if (nome == null) {
result = prime * result + 0;
} else {
result = prime * result + nome.hashCode();
}