まず、初めにjava.lang.String.intern()メソッドの役割について、説明する。 このメソッドをjava.lang.Stringのファイルから見てみた場合、こんな感じになっている public native String intern() ; このメソッドでは、Javaの文字列の場合、たとえば、以下のように String a = "hoge" ; String b = new String( "hoge" ) ; System.out.println( a == b ) ; 同じ文字列同士だから、上記条件でも[true]になるんじゃないの?って思うかもしれないが、この場合[false]になってしまう。 Javaでは、文字列の場合の判別に対しては、java.lang.Object.equals( Object )メソッドを用いて、行わなければならないし、そもそもJavaの場合