Heim > Java > javaLernprogramm > Hauptteil

Wie verwende ich die Methode equal() der Java-Object-Klasse richtig?

WBOY
Freigeben: 2023-05-07 08:13:07
nach vorne
815 Leute haben es durchsucht

Grundlegende Konzepte:

  • Die Object-Klasse befindet sich im Paket java.lang. Das Paket java.lang enthält die grundlegendsten und wichtigsten Klassen von Java, die während der Kompilierung automatisch importiert werden Die Objektklasse besteht aus allen Vorfahren der Java-Klasse. Jede Klasse verwendet Object als Oberklasse. Alle Objekte (einschließlich Arrays) implementieren die Methoden dieser Klasse. Sie können eine Variable vom Typ Objekt verwenden, um auf einen beliebigen Objekttyp zu zeigen.

  • equals()-Methode:
  • Vergleichen Sie, ob zwei Objekte gleich sind.

Wenn zwei Objekte denselben Typ und denselben Attributwert haben, es heißt so. Beide Objekte sind gleich. Wenn zwei Referenzobjekte auf dasselbe Objekt verweisen, werden die beiden Variablen als gleich bezeichnet. Der Prototyp der in der Object-Klasse definierten Funktion equal ist:

public boolean equal(Object);Es bestimmt, ob zwei Objekte gleich sind, nicht, ob sie gleich sind

Wie verwende ich die Methode equal() der Java-Object-Klasse richtig?

①Es kann nur verarbeiten Referenztypvariablen
  • ②In der Object-Klasse wurde festgestellt, dass equal() immer noch vergleicht, ob die Adresswerte der beiden Referenzvariablen gleich sind
  • package com.example.demo.test;
    
    public class Person {
    
        private String userName;
        private String age;
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getAge() {
            return age;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    }
    Nach dem Login kopieren
    package com.example.demo.test;
    
    public class Test {
    
        public static void main(String[] args) {
            Person p1 = new Person();
            Person p2 = new Person();
            System.out.println(p1.equals(p2));
            System.out.println(p1 == p2);
    
            /*
             * String类重写了Object类的equals()方法,比较是两个对象的实体内容"是否完全相同。
             */
            String s1 = new String("AA");
            String s2 = new String("AA");
            System.out.println(s1.equals(s2));
            System.out.println(s1 == s2);
        }
    }
    Nach dem Login kopieren

Aus dem laufenden Im Ergebnis können wir sehen, dass die Methode „equals“ in Object vergleicht, ob die beiden Objekte gleich sind, und die Methode „equals“ in der Klasse „String“ vergleicht, ob die Werte der Zeichenfolgen gleich sind. Bitte schauen Sie sich die Methode equal in String.java an

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;
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich die Methode equal() der Java-Object-Klasse richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage