Java Efetivo Essencial - HashCode()
3765 단어 javabeginnersbackendprogramming
Sobrescreva semper o método Hashcode ao sobrescrever o método equals
Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.
엔텐덴도
Equals(), Hashcode() 등이 Object 클래스로 분류되는 방법을 확인하십시오.
Esse método é utilizado especialmente em estrutura de dados do Java, como na api de Collections e Map.
Equals() 및 Hashcode() 또는 Hashcode() 또는 Hashcode() 메서드와 대조되는 모든 방법은 Java에서 작동하지 않는 기능에 함축되어 있습니다.
콘트라토 게랄
기존 알고리즘은 Hashcode() 방법에 따라 다른 방식으로 처리되어야 합니다.
코모 데베리아?
정확한 개체는 Equals() 메서드를 사용하지 않고 개체를 포함합니다.
Mesma ordem dos campos possibilita uma função hash melhor를 활용하십시오.
다음 계산법은 Hash가 추천할 만한 가치가 있고 가치가 가장 높으며 예를 들면 다음과 같습니다.
@Override
public int hashCode() {
int result = nome.hashCode();
result = 31 * result + email.hashCode();
result = 31 * result + nascimento.hashCode();
return result;
}
Google에서 Guava를 추천하고 Objects do Java를 추천하는 등의 계산서나 계산서가 존재합니다.
Ele traz apenas um alerta sobre o método da classe Objects em termos de performance.
@Override
public int hashCode() {
return Objects.hash(nome, email, nascimento);
}
Se trabalha com class Imutáveis uma abordagem seria o armazenamento do hashcode em cache para não ficar recalculando toda vez que o método for utilizado.
결론
O livro ressalta a importância de utilizarmos todos os campos que são significativos para identificar o objeto, ou seja, mesmo que sejam muitos devemos manter eles e garantir que estes sejam presentes.
Entenda que semper que sobrescrever um método será necessário sobrescrever o outro para que seu programa funcione corretamente.
Obdeça na sobrescrita as regras que esse esse método deve atender.
Algumas IDEs facilitam isso para o desenvolvedor como é o caso do Intellij que já possui uma opção em conjunto de sobrescrita dos dois itens.
Reference
이 문제에 관하여(Java Efetivo Essencial - HashCode()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/psanrosa13/java-efetivo-hashcode-2iop텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)