MAPを使用する際、「Collections.unmodifiable使ってください」と指示があったのでどういうものなのか調べました。
実際に使用したコード例
/**
* テストマップ.
*/
private static final Map<String, String> TEST_MAP =
Collections.unmodifiableMap(new HashMap<String, String>() {
{
put("MAP_KEY1", "MAP_VALUE1");
put("MAP_KEY2", "MAP_VALUE2");
put("MAP_KEY3", "MAP_VALUE3");
put("MAP_KEY4", "MAP_VALUE4");
}
});
どういったときに使用する?
Map、Set、ListなどのCollectionを、変更不可なものとして扱うのに
Collections::unmodifiableXXX を使う方法があります。
add, put, remove などの、コレクションの追加、削除などを抑制する事ができます。
今回はMAPの値を変更したくなかったので、こちらを使用してくれと指示があったのだと理解しました。