javaの中のequalsと==の違いを話します。

1075 ワード

本論文の例では、Javaのequalsと==の違いの具体的なコードを共有します。参考にしてください。具体的な内容は以下の通りです。
java 9の例コード:

String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
String str4 = new String("abc");
str 1==str 2    出力:true当:str 1.equals(str 2)出力:true
str 1==str 3出力:false   str 1.equals(str 3)出力:true
str 3==str 4出力:false   時:str 3.equals(str 4)出力:true
関連する詳細:
-String中のintern法により、文字列オブジェクトは定数セル内で、その等しい文字列の参照を中和することができます。
 str 3.intern()=str 4.intern()出力:true
 str 1.intern().equals(str 2.intern()出力:true
 str 1.intern()=str 1出力:false
-String str=new String(abc);いくつのオブジェクトを作成しましたか?
 まず常量池に「abc」という文字列があるかどうかを見ます。出現時にあります。一つを作成します。ない場合は二つを作成します。
==equalsとの違い:
対==
基本データ型の変数として作用すると、その格納されている「値」が等しいかどうかを直接比較します。
参照型の変数として作用すると、参照先のアドレスが比較されます。
equalsに対して:
equals方法は基本データタイプの変数には使えません。
Objectでequalsメソッドを書き換えていない場合、比較したのは参照型の変数が指す対象のアドレスであり、逆に比較したのは内容である。
以上述べたのは小编が绍介したjava中のequalsと==の违いを详しく整理して、皆さんに助けてほしいです。ここでも私たちのサイトを応援してくれてありがとうございます。