Introdução
Classe de objeto: esta classe java.lang.java é a classe pai herdada por todas as classes por padrão.
Três métodos comumente usados na classe de objeto: toString() , equal() , hashCode()
1. Auto-descrição do objeto ToString () do método e auto-introdução do objeto
Durante a auto-descrição de um objeto, pois é problemático imprimir variáveis de instância usando o método get() , toString() é usado para simplificar.
Public string tostring () {return "Learn Well" + getNo () + "Nome" + getName ();} System.out.println(s); é equivalente a System.out.println(s.toString());
Impressão:
um. Imprima seu valor diretamente quando o tipo de dados básico
b. Ligue toString() ao se referir ao tipo de dados e imprimir
Se toString() na classe de objeto não for reescrever, imprima o objeto diretamente e o resultado obtido no console for:
HashCode contendo nome completo @ objeto
2. Reescrita Equals () Método Equals () deve reescrever hashCode ().
Equals() compara o conteúdo de dois objetos ou os dois objetos; hashCode() é o endereço interno do objeto e é um número inteiro.
== diferença entre iguais ()?
Resposta: == A comparação essencial é binária, o tipo de dados básico compara valores numéricos e o tipo de dados de referência compara o endereço
Equals() é dividido em equals() da classe de objeto e equals() da classe String. equals() da classe de objeto é equivalente a == comparando o tipo de referência; equals() da classe String substitui equals() na classe de objeto, comparando valores literais.
Instância de determina o nome da classe ou pode usar a reflexão
A instância do nome da variável de referência do objeto da classe de nome da classe, se o nome da variável de referência do objeto for o objeto de classe ou classe base cujo valor de retorno ainda for verdadeiro.
Método equals() Custom ():
1. O mesmo tipo
2. Defina suas próprias regras de comparação
public boolean equals (objeto objeto) {// reescreva o método equals () do objeto igualstest igual true;} else {return false;}} else {return false;}}3. O método HashCode () é usado para acelerar a pesquisa e implementar a pesquisa de índice (algoritmo de consulta, algoritmo de armazenamento)
Public int hashcode () {return this.name.hashcode ()*13 + novo interger (getage) .hashcode ()*12;}Dois princípios do HashCode:
1. Quando o valor de retorno dos dois objetos equals() é verdadeiro, seus métodos hashCode() também devem garantir que o valor de retorno seja o mesmo.
2. Use equals() para comparar as propriedades usadas no objeto, e todas elas devem ser usadas para calcular hashCode() .
HashCode () Algoritmo de hash
precisar:
1. O valor de retorno do hashCode() é o mesmo e o valor de retorno equals() também deve ser o mesmo.
2. Reescreva quais atributos usam hashCode() e quais atributos usam no método equals() .
NOTA: O HashCode é o mesmo, o Igual não é necessariamente o mesmo.
O HashCode é usado para julgar as pastas e a igual é usada para julgar os arquivos.
Se hashCode() não for substituído, o método HashCode () padrão é encontrado com base no endereço do objeto (o valor da chave é o endereço do objeto)
Se você reescrever hashCode() , ele não poderá ser usado para determinar se é o mesmo objeto.
Você pode usar System.identityHashCode (o nome de referência do objeto) Se o HashCode for o mesmo, ele é o mesmo objeto.
System.out.println(System.identityHashCode(对象的引用名));
Se não houver hashCode() , o código de hash de seu objeto será calculado pelo endereço do objeto.
System.out.println(对象引用名.hashCode());
Nota: se os elementos existem na coleta de hashset e os métodos para excluir dependências de operação são hashCode() e equals() do elemento.
Resumir
Os acima são três métodos comuns de objeto pai em Java compilado para você. Espero que seja útil para você. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.