static final な List や Map をサクッと宣言しつつ、add() や put() も許さない

Java の final 修飾子は代入を禁止するだけで、インスタンスの内容を変更できなくするわけではない。そのため、リストの内容を追加・変更させないつもりで final と打つだけでは List#add() ができてしまうのだ。 // 要素を変更されたくない List を static final で宣言。インスタンス…