Java で文字列が等しいかどうかを判断する方法:
1. Java での文字列の比較: ==
私たちは習慣的に次のように書きます。 (str1==str2)、この書き方はjavaで問題を引き起こす可能性があります
example1:
String a="abc"; String b="abc"
その場合、a==bはtrueを返します。 Java の文字列の値は不変であるため、同じ文字列のコピーは 1 つだけメモリに保存されるため、a と b は同じオブジェクトを指します;
example2 :
String a=new String("abc"); String b=new String("abc");
この場合、a==b は false を返しますが、このとき、a と b は異なるオブジェクトを指します。
2.equals メソッドを使用して、文字列の内容が同じかどうかを比較します。例:
String a=new String("abc"); String b=new String("abc"); a.equals(b);
(1) == の場合、基本データ型 (byte、short、char、int、long、float、double、boolean) の関数の変数の場合、保存された「値」が等しいかどうかを直接比較し、参照変数に作用するかどうかを確認します。型 (String) の場合、比較はポイントされたオブジェクトのアドレス (つまり、同じオブジェクトをポイントしているかどうか) です。
(2)equals メソッドは基本クラス Object のメソッドであるため、Object を継承するすべてのクラスがこのメソッドを持ちます。 Object クラスでは、equals メソッドを使用して、2 つのオブジェクトの参照が等しいかどうか、つまり、それらが同じオブジェクトを指しているかどうかを比較します。
(3)equals メソッドに関する注意:equals メソッドは、基本データ型の変数には作用できません。 equals メソッドがオーバーライドされていない場合は、参照型変数が指すオブジェクトのアドレスが比較されます。String クラスは、equals メソッドをオーバーライドして、指定された文字列オブジェクトに格納されている文字列が等しいかどうかを比較します。 Double、Date、Integer などの他のクラスは、指定されたオブジェクトに格納されている内容が等しいかどうかを比較するために、equals メソッドをオーバーライドしています。
Java についてさらに詳しく知りたい場合は、
Java 基本チュートリアル以上がJavaで文字列が等しいかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。