Java bestimmt, ob zwei Objekte dasselbe Objekt sind
Die referenzierte Adresse wird mit "==" verglichen und der Wert wird mit Gleichen verglichen. Dann sind die Eigenschaften der beiden identischen Objekte in neuem gleich und warum sind sie beim Kompilieren nicht gleich? Dies liegt daran, dass wir die Equals -Methode der übergeordneten Klasse nennen, nämlich das Objekt. Hier müssen wir diese gleiche Methode neu schreiben.
public class test5 {public static void main (string [] args) {user muser1 = neuer user ("zhangsan", "123456"); User MUSER = neuer Benutzer ("Zhangsan", "123456"); System.out.println (muser == muser1); System.out.println (muser.equals (muser1)); }} Klasse Benutzer {String name = ""; String pwd = ""; @Override // Schreiben Sie die Equals -Methode der übergeordneten Klasse Public Boolean Equals (Object OBJ) {if (objinstanceof user) {user muser = (Benutzer) obj; if (muser.name.equals (name) && muser.pwd.equals (pwd)) {return true; }} return Super.equals (OBJ); } public user (String -Name, String pwd) {super (); this.name = name; this.pwd = pwd; }}Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!