java
"== の等号と == の違いは、メモリが存在するかどうかで 2 つの参照を比較します。同じオブジェクト (つまり、同じメモリ空間) を指しているかどうか、つまり、メモリ空間内の記憶場所が一貫しているかどうか。
equals は、オブジェクトの内容が等しいかどうかによく使用されます。
equals メソッドは Object クラスによって提供され、サブクラスによって書き換えることができます (推奨チュートリアル: java チュートリアル)
public boolean equals(Object obj) { return (this == obj); }
デフォルトの実装は、オブジェクトがそれ自体と比較される場合にのみ true を返します。これは、現時点では「==」と同等です。
Java の多くのクラス (String クラス、Date クラス、File クラス) は、equals メソッドを書き直しています。ここでは、一般的な String クラスを例として示します。
public class Test { public static void main(String[] args) { String num1= "abc"; String num2= "abc"; System.out.println(num1==num2);//true String num3 = new String("abc"); String num4= new String ("abc"); System.out.println(num3==mnum4);//false System.out.println(num3.equals(num4));//true } }
Java 言語の equals メソッドは実際には開発者にオーバーライドされており、開発者は満たす 2 つのオブジェクトが等しい条件を定義できます。
これは、equals メソッドは「==」とまったく同じであることを意味します。ただし、equals メソッドはオーバーライドできます。「==」の場合、値型の場合、値が一致するかどうかを比較します。が等しい; 参照型の場合は、オブジェクトのアドレスが等しいと判断します。
以上がJavaのequalsと==の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。