Javaで変数に final 修飾子をつけると、その変数は「再代入ができない定数」になります。 しかし、ここに大きな勘違いの罠が潜んでいます。実は、「final をつけたからといって、そのオブジェクトの中身が書き換えられなくなるわけではない」 のです。