なぜこの2つの比較では結果が異なるのでしょうか? 質問する

なぜこの2つの比較では結果が異なるのでしょうか? 質問する

このコードはなぜ true を返すのでしょうか。

new Byte() == new Byte()   // returns true

しかし、このコードは false を返します:

new Byte[0] == new Byte[0] // returns false

ベストアンサー1

値型を作成するためnew Byte()、値によって比較されます (デフォルトではbyte値を返します0)。また、new Byte[0]参照型で参照によって比較される配列を作成します (配列のこれらの 2 つのインスタンスは異なる参照を持ちます)。

見る値型と参照型詳細については記事をご覧ください。

おすすめ記事