Javaは、2つのオブジェクトが同じオブジェクトであるかどうかを決定します
参照されたアドレスは「==」と比較され、値は等しいと比較されます。次に、新しいオブジェクトの2つの同一のオブジェクトのプロパティは同じです。コンパイル時にそれらが同じではないのはなぜですか?これは、オブジェクトである親クラスの等しい方法を呼び出すためです。ここでは、これに等しい方法を書き直す必要があります。
public class test5 {public static void main(string [] args){user muser1 = new user( "zhangsan"、 "123456"); user muser = new user( "Zhangsan"、 "123456"); System.out.println(muser == muser1); system.out.println(muser.equals(muser1)); }} class user {string name = "";文字列pwd = ""; @override //親クラスの等式の方法を書き換えますパブリックブーリアンequals(object obj){if(obj instanceof user){user muser =(user)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; }}読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!