2011-02-09 22 views

答えて

5

リテラルObject.classは、常に同じクラスローダー内で同じ参照を返します。 section 15.8.2 of the JLSから

現在のインスタンスのクラスの定義クラスローダーによって定義される名前付きの型(または空隙用)のクラスオブジェクトに

クラスリテラル評価します。

注上記の引用では定冠詞(「」) - 特定のクラスに対してだけ Classオブジェクトは、同じクラスローダ内、があります。

同じように、同じオブジェクトへの参照が2つあるため、同じハッシュコードが得られます。

2

与えられたクラスローダー内では、ロードされたクラスごとに、タイプがClassの単一のオブジェクトがあります。

x1.getClass()およびx2.getClass()は、x1x2が同じダイナミックタイプである限り、同じ参照を返します。

2

タイプされたクラスごとに.classオブジェクトのインスタンスが1つしかないので、すべての参照は(Object.classの)この同じオブジェクトを指しているため、同じハッシュコードを持ちます

関連する問題