[JAVA] Gleichwertige Beurteilung von Integer und int

-Verwenden Sie gleich anstelle von == für die Beurteilung der Objektgleichheit. Gleich ist für Klassen definiert, die eine Beurteilung der Gleichheit erfordern (sollten).

・ Ich sehe manchmal ein Programm, das die Gleichheit von String mit == beurteilt, aber wenn ich es sehe, werde ich wahrscheinlich zu Anämie. Derzeit wird das Debuggen durchgeführt. Der Grund, warum dies funktioniert, ist, dass es wahr ist, wenn es durch Zuweisung gedreht wird.

-Obwohl es für Integer dasselbe ist, ist es ein wenig kompliziert, weil es ein Grundelement (int) gibt.

・ Überprüfen Sie auch den gesunden Menschenverstand.

-Aber es scheint sehr unwahrscheinlich, dass beide Integer sind. Gut, gut.

Tips0048.java


package jp.avaj.lib.algo;

import jp.avaj.lib.test.ArTest;
import jp.avaj.lib.test.L;

public class Tips0048 {
  public static void main(String[] args) {
    //Starten Sie einen Testfall
    ArTest.startTestCase("Tips0048");

    L.p("\n====Gleichwertige Beurteilung von Integer und Integer");
    {
      Integer i0 = new Integer(5);
      Integer i1 = i0;
      Integer i2 = new Integer(5);
      //
      //Da dies eine Aufgabe ist, wird es wahr sein.
      ArTest.isTrue("i0 vs i1","result",(i0 == i1));

      //Das ist falsch ⇒ ★ Nur das ist gefährlich
      ArTest.isFalse("i0 vs i2","result",(i0 == i2));
    }
    L.p("\n====Gleichwertige Beurteilung von Integer und int");
    {
      Integer integer = new Integer(5);
      int int0 = 5;
      //
      //Beurteilung gleich
      ArTest.isTrue("Integer.equals(int)","result",integer.equals(int0));
      // ==Urteil von
      ArTest.isTrue("Integer == int","result",integer == int0);
    }
    L.p("\n====Gleichwertbeurteilung von int und int ⇒ weggelassen");
    //
    L.p("\n====Integer- und Integer-Größenbeurteilung");
    {
      Integer integer0 = new Integer(5);
      Integer integer1 = new Integer(4);
      ArTest.isTrue("Integer > Integer","result",integer0 > integer1);
    }
    L.p("\n====Großes / kleines Urteil von Integer und Int");
    {
      Integer integer0 = new Integer(5);
      ArTest.isTrue("Integer > int","result",integer0 > 4);
    }
    L.p("\n====Beurteilung der Größe von int und int ⇒ weggelassen");


    L.p("\n====Extra");
    //Beide sind falsch. Obwohl es natürlich ist, fühlt es sich sehr seltsam an.
    L.p((new Integer(1)).equals(new Long(1))+"");
    L.p(((new Boolean(true)) == (new Boolean(true)))+"");

    L.p("");
    //Beenden Sie den Testfall
    ArTest.endTestCase();
  }
}

Das Ausführungsergebnis ist wie folgt.

**** Tips0048 start ****

====Gleichwertige Beurteilung von Integer und Integer
OK i0 vs i1:result=true
OK i0 vs i2:result=false

====Gleichwertige Beurteilung von Integer und int
OK Integer.equals(int):result=true
OK Integer == int:result=true

====Gleichwertbeurteilung von int und int ⇒ weggelassen

====Integer- und Integer-Größenbeurteilung
OK Integer > Integer:result=true

====Großes / kleines Urteil von Integer und Int
OK Integer > int:result=true

====Beurteilung der Größe von int und int ⇒ weggelassen

====Extra
false
false

**** Tips0048 summary ****
test count = 6
success    = 6

Recommended Posts

Gleichwertige Beurteilung von Integer und int
Urteil von JSONArray und JSONObject
Gleiches Urteil / gleichwertiges Urteil / Vergleich / Reihenfolge in Swift und Java
Unterschied zwischen int und Integer in Java
Bitte beachten Sie die Aufteilung (Aufteilung) von Java Kotlin Int und Int
Beurteilung des Kalenders
Festlegen des Werts von log4jdbc.properties