Heim >Java >javaLernprogramm >Instanzanalyse der Java-Objektklassenmethode

Instanzanalyse der Java-Objektklassenmethode

王林
王林nach vorne
2023-04-18 17:49:051091Durchsuche

1.equals-Methode

1.Einführung in die equal-Methode in der API

Instanzanalyse der Java-Objektklassenmethode

2.== und equal Der Vergleich von

  • == kann sowohl den Basistyp als auch den Referenztyp bestimmen. Wenn es sich um den Basistyp handelt, wird beurteilt, ob die Werte gleich sind. Bei der Beurteilung wird bei Referenztypen beurteilt, ob die Adressen gleich sind, dh ob es sich um dasselbe Objekt handelt.

  • equals-Methode ist eine Methode in der Object-Klasse. Sie kann nur den Referenztyp ermitteln. Diese Methode wird häufig überschrieben In Unterklassen wird es verwendet, um festzustellen, ob der Inhalt gleich ist .

    Object o = new Object();
    o.equals(1);//Object类中的equals方法
    System.out.println("hello".equals("hello"));//String中的equals方法
    Integer integer = new Integer(5);
    System.out.println(integer.equals(5));//Integer中的equals方法
    //将光标放在equals方法上,按Ctrl同时按鼠标左键,就可跳转到String和Integer中的equals方法的JDK源码。
    //Object类中的equals方法
    public boolean equals(Object obj) {
            return (this == obj);//判断是不是当前对象
    }
    //String类中重写的equals方法
    public boolean equals(Object anObject) {
            if (this == anObject) {
                return true;//首先判断是不是当前对象
            }
            if (anObject instanceof String) {//判断当前类型是不是字符串类型
                String anotherString = (String)anObject;//向下转型
                int n = value.length;//保存传入字符串的长度
                if (n == anotherString.value.length) {
                    char v1[] = value;
                    char v2[] = anotherString.value;
                    int i = 0;
                    while (n-- != 0) {
                        if (v1[i] != v2[i])//一个一个字符比较
                            return false;
                        i++;
                    }
                    return true;
                }
            }
            return false;
        }
     //Integer类中重写的equals方法
    public boolean equals(Object obj) {
            if (obj instanceof Integer) {//判断当前类型是不是Integer类型
                return value == ((Integer)obj).intValue();//向下转型
            }
            return false;
        }
  • 2.hashCode-Methode

1.Einführung in die HashCode-Methode in API

#🎜 🎜#2 .Verbessern Sie die Effizienz von Containern mit Hash-Strukturen.

3. Wenn zwei Referenzen auf dasselbe Objekt verweisen, ist der Hashwert derselbe, wenn sie jedoch auf verschiedene Objekte verweisen, ist der Hashwert unterschiedlich. Instanzanalyse der Java-Objektklassenmethode

4. Der Hashwert basiert hauptsächlich auf der Adresse, der Hashwert kann jedoch nicht mit der Adresse gleichgesetzt werden.

3.toString-Methode

1. Einführung in die toString-Methode in der API

2. Die Standardrückgabe lautet: vollständiger Klassenname (Paketname + Klassenname) + @ + Hexadezimalwert des Hashwerts.

3. Die toString-Methode wird häufig überschrieben, um Objekteigenschaften zurückzugeben. Instanzanalyse der Java-Objektklassenmethode

4. Wenn das Objekt direkt ausgegeben wird, wird standardmäßig die toString-Methode aufgerufen.

//JDK中的toString方法源码
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    //返回全类名(包名+类名)+@+哈希值的十六进制
    }
//重写toString方法
 @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender=" + gender +
                '}';
    }//往往重写toString方法,用于返回对象属性。

4.finalize-Methode

1.Einführung in die finalize-Methode in der API

2. Wenn das Objekt recycelt wird, ruft das System automatisch die Finalize-Methode des Objekts auf. Unterklassen können diese Methode überschreiben und einige Vorgänge ausführen, um Ressourcen freizugeben.

3. Wenn ein Objekt keine Referenz hat, verwendet die JVM den Garbage-Collection-Mechanismus, um das Objekt zu zerstören. Die Finalize-Methode wird aufgerufen, bevor das Objekt zerstört wird. Instanzanalyse der Java-Objektklassenmethode

4. Der Aufruf des Garbage Collection-Mechanismus wird durch den GC-Algorithmus des Systems bestimmt und kann auch aktiv über System.gc() ausgelöst werden.

Das obige ist der detaillierte Inhalt vonInstanzanalyse der Java-Objektklassenmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen