Äquivalenter Vergleich von Java-Wrapper-Klasse und primitivem Typ

In einem bestimmten Projekt war der gleichwertige Vergleich zwischen der Wrapper-Klasse und dem primitiven Typ falsch, daher schrieb ich einen Artikel für Neulinge.

DemoApp.java


public class DemoApp {
    
    public static void main(String[] args) {
        Integer x = 999999;
        Integer y = 999999;
        int z = 999999;

        //Von der Wrapper-Klasse==Vergleich
        if (x == y) {
            System.out.println("same");
        } else {
            System.out.println("other");
        }

        //Vergleich mit der Methode der Wrapper-Klasse gleich
        if (x.equals(y)) {
            System.out.println("same");
        } else {
            System.out.println("other");
        }

        //Wrapper-Klasse und primitiver Typ==Vergleich
        if (x == z) {
            System.out.println("same");
        } else {
            System.out.println("other");
        }
        
        //Der Vergleich der Wrapper-Klasse und des primitiven Typs entspricht der Methode
        if (x.equals(z)) {
            System.out.println("same");
        } else {
            System.out.println("other");
        }
    }
}

Ausführungsergebnis


other
same
same
same

Dies ist das Ergebnis der Definition einer Wrapper-Klasse mit derselben Nummer und einer Variablen vom primitiven Typ und des Vergleichs der Werte.

Artikelnummer Bedingungen Ergebnis
1 Wrapper-Klasse und Wrapper-Klasse==Äquivalenter Vergleich anders
2 Wrapper-Klasse und Wrapper-KlasseequalsGleichwertvergleich nach Methode das Gleiche
3 Wrapper-Klasse und primitiver Typ==Äquivalenter Vergleich das Gleiche
4 Wrapper-Klasse und primitiver TypequalsGleichwertvergleich nach Methode das Gleiche

== bestimmt, ob es auf dieselbe Instanz (dasselbe Objekt) verweist, aber es ist interessant, dass die Wrapper-Klasse und der primitive Typ ebenfalls als ** gleich ** bestimmt werden.

Recommended Posts

Äquivalenter Vergleich von Java-Wrapper-Klasse und primitivem Typ
Informationen zu primitiven Java-Typen und Referenztypen
Vergleich von JavaScript-Objekten und Ruby-Klassen
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
Informationen zu Java-Datentypen (insbesondere primitiven Typen) und Literalen
[Java] Vergleich von Zeichenketten und && und ||
[Java] Variablen- und Typtypen
Java (Klasse und Instanz)
[Java] Arten von Kommentaren und wie man sie schreibt
Der Vergleich von enum ist == und gleich ist gut [Java]
Ich habe die Typen und Grundlagen von Java-Ausnahmen zusammengefasst
Ich habe Java-Primitivtypen untersucht
Vor- und Nachteile von Java
Java abstrakte Methoden und Klassen
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
[Java] Vergleichsmethode für Zeichenketten und Vergleichsmethode mit regulären Ausdrücken
Generieren Sie Stream aus einem Array primitiver Typen in Java
[Java] Geschwindigkeitsvergleich der Zeichenfolgenkombination
Vergleich der WEB-Anwendungsentwicklung mit Rails und Java Servlet + JSP
[Java] Verschiedene Zusammenfassungen an die Leiter von Klassen und Mitgliedern
Deklaration, Initialisierung und Typen von Java-Variablen
Über Biocontainer fastqc und Java
Java Primer Series (Variationen und Typen)
Grundlegende Datentypen und Referenztypen (Java)
Java Generics (definiert Klassen und Methoden)
Vergleich der Verarbeitungszeit basierend auf awk, Shell-Befehl und Java
[Java] Korrekter Vergleich des String-Typs
Java-Basisdatentypen und Referenztypen
Liste der in Java 9 hinzugefügten Typen
Klassen und Instanzen Java für Anfänger
[Java] Ausnahmetypen und grundlegende Verarbeitung
Vergleich der Thread-Implementierungsmethoden in Java und der Lambda-Ausdrucksmethode
Vergleich von null-toleranten, null-toleranten und null-toleranten sicheren Typen aus der Perspektive der Null-Sicherheit
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
Java für Anfänger, Variablen und Typen
In Bezug auf den Vergleich der Zeichenfolgentypäquivalenz in Java
Vergleich von Android Handler Looper und runOnUiThread
Nach 3 Monaten Java- und Frühlingstraining
Java-Programmierung (Klassen und Instanzen, Hauptmethoden)
Gründlicher Vergleich von Android- und iOS-Implementierungen
JAVA lernen Geschichte abstrakte Klassen und Methoden
[Einführung in Java] Informationen zu Variablendeklarationen und -typen
Zusammenfassung von Java Math.random und Import (Kalender)
[Java] Inhalt der Collection-Schnittstelle und der List-Schnittstelle
Diskriminierung von Enum in Java 7 und höher
Die Geschichte des einfachen String-Vergleichs in Java
Über die Idee anonymer Klassen in Java
Effektive Java 3rd Edition Kapitel 4 Klassen und Schnittstellen
Chrome59 Vergleich von Normal- und Headless-Modus
Ich habe die Eigenschaften von Java und .NET verglichen
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
Java- und Swift-Vergleich (3) Klassenimplementierung / Klassenvererbung / Klassendesign
Java ermöglicht die Extraktion von PDF-Text und Bildern