84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
読んでいるときに注意しなかったため、私はそれを理解しました。String は hashCode メソッドを書き換えました。その hashCode 値はアドレス
String
hashCode
Java で == を使用して String を決定すると、hashCode の代わりに 2 つのオブジェクトのアドレスが決定されます。 2 つの String オブジェクトがあり、両方に new を使用しているため、== を使用すると false になります。
hashCode と == は異なります。 == はメモリ アドレスを比較し、インスタンス変数に基づいて hashCode が計算されます。
文字列プール内の "hello" を直接参照する代わりに、new を使用して 2 つの String インスタンスを作成しました (new キーワードは新しいメモリ領域を開きます)。以下はこのコンストラクターのソース コードです。
String のハッシュ計算方法は、上記のコードの値とハッシュに基づいています。
== 比較されるのは、文字列の各文字からほぼハッシュとイコールが得られますが、メモリアドレスは異なります。
== は、2 つの参照変数が同じオブジェクトを指しているかどうかを判断します。 2 つのオブジェクトの内容が同じ場合、それらのハッシュコードは同じですが、それらの参照は等しくありません
読んでいるときに注意しなかったため、私はそれを理解しました。
ではなく、内容によって決まります。String
はhashCode
メソッドを書き換えました。そのhashCode
値はアドレスJava で == を使用して String を決定すると、hashCode の代わりに 2 つのオブジェクトのアドレスが決定されます。 2 つの String オブジェクトがあり、両方に new を使用しているため、== を使用すると false になります。
hashCode と == は異なります。 == はメモリ アドレスを比較し、インスタンス変数に基づいて hashCode が計算されます。
文字列プール内の "hello" を直接参照する代わりに、new を使用して 2 つの String インスタンスを作成しました (new キーワードは新しいメモリ領域を開きます)。以下はこのコンストラクターのソース コードです。
リーリーString のハッシュ計算方法は、上記のコードの値とハッシュに基づいています。
== 比較されるのは、文字列の各文字からほぼハッシュとイコールが得られますが、メモリアドレスは異なります。
== は、2 つの参照変数が同じオブジェクトを指しているかどうかを判断します。 2 つのオブジェクトの内容が同じ場合、それらのハッシュコードは同じですが、それらの参照は等しくありません