В Java вы можете указать локальные переменные и параметры метода с помощью ключевого слова final.
public static void foo(final int x) {
final String qwerty = "bar";
}
Это приводит к невозможности переназначить x и qwerty в теле метода.
Эта практика подталкивает ваш код к неизменности, что обычно считается плюсом. Но это также имеет тенденцию загромождать код, и "final" появляется повсюду. Что вы думаете о ключевом слове final для локальных переменных и параметров метода в Java?