Object.hashCode()の謎
Javaの話。
同一パッケージ内に以下のような「Test」クラスと「Target」クラスを作成した。それぞれにメイン関数が定義されており、それぞれが「Target」クラスのハッシュ値を出力する。
package jp.idios; public class Test { public static void main(String[] args) { System.out.println(Target.class.hashCode()); } }
package jp.idios; public class Target { public static void main(String[] args) { System.out.println(Target.class.hashCode()); } }
上記コード、それぞれの実行結果は以下のようになった。
- Testクラスの場合
17510567
- Targetクラスの場合
827574
あれ?おかしくね?
○○なの?死ぬの?なんでなの???
ググっても本件についての記述を見つけることはできなかった。どっかエロい人教えてくれないかなぁ・・・(o´-`o)
ちなみに、本現象はWindows + JDK1.6.0で起こった。