Нет, вы не можете заставить компилятор Java сделать это. И вы не можете поместить не-Java-ключевые слова (например, mutable
) в исходный код Java. Никакой совместимый Java-компилятор не позволит ни одного из них.
Возможно, вы можете использовать пользовательскую аннотацию для «объявления» изменчивых локальных переменных и использовать статический анализатор для обнаружения назначений местным пользователям без аннотации.
Возможно, даже существуют существующие инструменты анализатора, аннотации и т. Д., Которые сделают это для вас, хотя я не знаю о инструменте, который точно соответствует счету.
(FinalLocalVariable
Проверка CheckStyle не делает именно то, что вы хотите. Он расскажет вам, где добавить final
в объявления, но это не то, о чем вы просите ... Я думаю. быть лечение в final
, даже если они не объявлены явно как таковой.)
Но на мой взгляд, было бы неплохо, чтобы сделать это.
Ваш работодатель принял решение (правильно или неправильно), что Java - это единственный язык, который вы можете использовать. Одной из причин этого будет обеспечение того, чтобы разрабатываемый вами код мог поддерживаться и расширяться Java-программистами. Используя необычные обозначения, чтобы вы могли писать код с нулевым присвоением, вы подрываете политику компании.
В лучшем случае вы не будете очень популярны у своих коллег, сделав это.
У ошибки Google есть проверка на это: http://errorprone.info/bugpattern/Var. –