怪我咯2017-04-18 10:08:30
読んでいるときに注意しなかったため、私はそれを理解しました。String
は hashCode
メソッドを書き換えました。その hashCode
値はアドレス
巴扎黑2017-04-18 10:08:30
Java で == を使用して String を決定すると、hashCode の代わりに 2 つのオブジェクトのアドレスが決定されます。 2 つの String オブジェクトがあり、両方に new を使用しているため、== を使用すると false になります。
巴扎黑2017-04-18 10:08:30
hashCode と == は異なります。 == はメモリ アドレスを比較し、インスタンス変数に基づいて hashCode が計算されます。
文字列プール内の "hello" を直接参照する代わりに、new を使用して 2 つの String インスタンスを作成しました (new キーワードは新しいメモリ領域を開きます)。以下はこのコンストラクターのソース コードです。
リーリーString のハッシュ計算方法は、上記のコードの値とハッシュに基づいています。
PHP中文网2017-04-18 10:08:30
== は、2 つの参照変数が同じオブジェクトを指しているかどうかを判断します。 2 つのオブジェクトの内容が同じ場合、それらのハッシュコードは同じですが、それらの参照は等しくありません