JavaのStringクラスに、intern()というメソッドがある。 APIドキュメントの説明を要約すると、StringのインスタンスはVMが管理していて、str.intern()とすることにより、内容が同じ文字列があった場合にはそのインスタンスを返してくれるらしい。 これがどんなところに使われているかというと、クラス内の文字リテラル("foo"のように記述している箇所)で使用され、文字リテラルのインスタンスはVM上で同一になるようになっている。 同一インスタンスになるとうれしいことは、メモリの節約になることと、String.equals()が高速になること。例として挙げられそうなのは、読み込んだプロパティファイルをSingletonで保持している場合など、そのインスタンスが頻繁に比較される箇所。 設定ファイルを読み込んだ後にキーと値にString.intern()をかけつつHashMa