String
いつs をオブジェクトとして比較する必要があり、いつそれらのequals
メソッドを使用する必要がありますか? 念のため、私はいつも を使用していますequals
が、あまり効率的ではないようです。string1 == string2
安全に使用できると確信できるのはどのような状況ですか?
ありがとう!
String
いつs をオブジェクトとして比較する必要があり、いつそれらのequals
メソッドを使用する必要がありますか? 念のため、私はいつも を使用していますequals
が、あまり効率的ではないようです。string1 == string2
安全に使用できると確信できるのはどのような状況ですか?
ありがとう!
ほとんど常に使用する必要がありますequals
。次の場合に確実string1 == string2
に機能します。
私の経験では、それは本当に頻繁には起こりません。
私がJavaについて知っていることからstring1==string2
、それらのオブジェクトへの参照が同じである場合にのみ真になります。次のケースを見てください。
String string1 = new String("Bob");
String string2 = new String("Bob");
string1 == string2; // false, they are seperate objects
string1 = string2; // asigning string1 to string2 object
string1 == string2; // true, they both refer to the same object
==
オブジェクトが同じであることが確実な場合にのみ、比較に使用できます。
たとえば、最終的な静的文字列変数がある場合、これが発生する可能性があります。比較が同じオブジェクト間で行われることは確実です。
equals
for 文字列比較に固執します。