Hier ist eine Zusammenfassung der gleichen Methoden, an die Sie sich beim Lernen von Java Silver erinnern sollten.
Die Methode equals ist eine Methode, die in der Klasse ** java.lang.Object ** definiert ist.
a.equals(b);
Überprüfen Sie, ob die in Variable a gespeicherte Instanz und die in Variable b gespeicherte Instanz ** denselben Wert ** ** haben (Äquivalenz) **
String a = "abc";
String b = new String("abc");
System.out.println(a == b); //false wird zurückgegeben
System.out.println(a.intern() == b.intern()); //gibt true zurück
Dies liegt daran, dass die interne Methode eine Methode zum Suchen und Wiederverwenden einer Zeichenfolge im Speicher ist, einschließlich eines konstanten Pools. Ein konstanter Pool bedeutet, dass beim erneuten Erscheinen eines ** Zeichenliteral ** im Programm ** Verweise auf dieselbe in der Vergangenheit erstellte Zeichenfolgeninstanz wiederverwendet werden **.
Die Methode equals ist in der Object-Klasse definiert, sodass jede Klasse sie hat. Es wird jedoch nur die Gleichheitsmethode der ** Objektklasse ** definiert, um die ** Identität ** und nicht die Äquivalenz zu bestimmen. Die Definition ist wie folgt.
public boolean equals(Object obj){
return (this == obj);
}
Da die ** Äquivalenzbestätigungsmethode ** für jede Klasse unterschiedlich ist, wird angenommen, dass die Gleichheitsmethode ** überschrieben und verwendet wird **.
Überschreiben Sie die in ** java.lang.Object class ** als ** Standardmethode ** in ** interface ** definierte Methode. → ** Kompilierungsfehler **
Wenn die Methode equals überschrieben wird, muss sie daher von ** class ** überschrieben werden.
** * Liste der in der Klasse java.lang.Object definierten Methoden **
Die Übergabe von null an die Methode equals führt nicht zu einer NullPointerException
Offizielles Dokument
x.equals (null) gibt false zurück.
Von <Beispiel für den Vergleich von Null- oder Leerzeichen mit Java entspricht>
Wenn a.equals (b), wenn a null ist, tritt eine NullPointerException auf. Wenn a.equals (b), wenn a nicht null und b null ist, wird false zurückgegeben. In Java7 hinzugefügte Objects.equals (a, b) generieren keine NullPointerException, selbst wenn a und b null sind.
Beispiel für den Vergleich von Null- oder Leerzeichen mit Java entspricht
Recommended Posts