Als Teil, der im Java Silver-Testergebnis falsch zu sein scheint, habe ich neulich erhalten "Verwenden Sie == und equals (), um zu testen, ob eine Zeichenfolge einem anderen Objekt entspricht." Wurde erwähnt, also werde ich es als Rezension schreiben.
Referenz [Einführung in Java, die klar verstanden werden kann](
<div style = "border: 1px solid # 95a5a6; border-radius: .75rem" ; Hintergrundfarbe: #FFFFFF; Breite: 184px; Rand: 0px; Polsterung: 5px; Textausrichtung: Mitte; Überlauf: versteckt; "> <a href = "https://hb.afl.rakuten.co.jp/ichiba/1aecd7df.780bbf06.1aecd7e0.a0859005/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F16099007%2F&_ picttext & ut = eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiI4MHg4MCIsIm5hbSI6MSwibmFtcCI6InJpZ2h0IiwiY29tIjoxLCJjb21wIjoiZG93biIsInByaWNlIjoxLCJib3IiOjEsImNvbCI6MSwiYmJ0biI6MSwicHJvZCI6MH0% 3D "target =" _ blank "rel =" nofollow gesponserte noopener "style =" word-wrap: break-word; "> <img src =" https://hbb.afl.rakuten.co.jp/ hgb / 1aecd7df.780bbf06.1aecd7e0.a0859005 /?me_id=1213310&item_id=19815844&pc=https%3A%2F%2Fthumbnail.image.rakuten.co.jp%2F%400_mall%2F72 = 80x80 & t = picttext "border =" 0 "style =" margin: 2px "alt =" [Für den Produktpreis wird ein Link erstellt Die Informationen können sich zu diesem Zeitpunkt und zu diesem Zeitpunkt ändern. ] "title =" [In Bezug auf den Produktpreis haben sich die Informationen möglicherweise zum Zeitpunkt der Erstellung des Links und zum Zeitpunkt geändert. ] "> </ td> | | <a href =" https://hb.afl.rakuten.co.jp/ichiba/1aecd7df.780bbf06.1aecd7e0.a0859005/? pc = https% 3A% 2F% 2Fitem.rakuten.co.jp% 2Fbook% 2F16099007% 2F & link_type = picttext & ut = eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiI4MHg4MCIsIm5hbSI6MSwibmFtcCI6InJpZ2h0IiwiY29tIjoxLCJjb21wIjoiZG93biIsInByaWNlIjoxLCJib3IiOjEsImNvbCI6MSwiYmJ0biI6MSwicHJvZCI6MH0% 3D "target =" _ blank "rel =" nofollow gesponserte noopener "style =" word-wrap: break-word ; "> Eine erfrischende Einführung in Java 3rd Edition [Kiyotaka Nakayama] </ p> </ td> </ tr> </ table>) Urteil von (==)
"Genau dieselbe Existenz" = "auf denselben Adresswert zeigen" Da h1 h2 zugewiesen ist, hat es dieselbe Instanz A "name: Taro".
Das Referenzziel bezieht sich auch auf dieselbe Adresse bei 2112.
Zu diesem Zeitpunkt gilt "h1 == h2". Erstellen Sie jede Instanz → siehe
Instanz A "Name: Ziro" → 3322
Instanz B "Name: Ziro" → 9191
"H1! = H2" gilt
Der Inhalt der Zeichenfolge ist jedoch identisch
Daher gilt "h1.equalsa (h2)". Ja ich verstehe.
Aber,
Wenn Sie mit [Einführung in Java, das Sie klar verstehen können]([Einführung in Java, die Sie klar verstehen können]) fortfahren und das Kapitel über die API-Nutzung in der zweiten Hälfte aufrufen
Es gibt eine Aussage, dass equals () nicht richtig funktioniert, es sei denn, Sie geben die Bewertungskriterien für "Was macht es gleich" an, aber es ist ein wenig verwirrend. Folgendes funktioniert nicht richtig
Beispiel 1) Vergleichen Sie zwei Personen Der Verarbeitungsinhalt von equals (), der von der Object-Klasse geerbt wurde, lautet wie folgt
"Wenn die Werte gleich sind, geben Sie vorerst true zurück."
Wird in Form von sein "Was als gleicher Inhalt zu betrachten ist" ist für jede Klasse unterschiedlich
Muss in jedem definiert werden
Mit anderen Worten, geben Sie durch "Überschreiben gleich" an. Die Bedingung lautet: "Wenn die Namen gleich sind, werden sie als derselbe Mensch betrachtet."
Dann wird es wie folgt sein "SAME" wird angezeigt
Recommended Posts
|