2011年10月4日火曜日

HashMapで文字列キーに対応するデータがとれない・・・あるはずなのに・・・

HashMapのキーの文字列をいれているときに、キー側のデータをStringBuilderで作成したり、通信した後にbyte[]から起こしたりすると、あらたなHashの文字列ができてしまって、参照がおかしくなるときがあります。

こんなときの救世主がinternメソッド。
文字列プール上に展開されている文字列で一致するものを返してくれる。

これをつかえば、確実にキーのhash値が一致するようになるので、データの取得がうまくいくようになります。

これ今日のプログラム変更で非常にやくにたった。
Flexとの通信なんかやってると型変換が内部で大量に発生するので、取得できないデータがぽろぽろとでてきました。

MapをつかうときにはStringのintern()メソッド。
思い出してやってください。

0 件のコメント:

コメントを投稿