2017-02-12 19 views
0

Я перехожу от Scala к Java и не имею окончательных параметров по умолчанию. Я исследовал экспериментальную версию библиотеки Ломбок here (справочной информации here), который имеет файлы, намекая на этой функциональности:Java @FinalArgs аннотация - как?

«src/core/lombok/experimental/FinalArgs.java», «src/core/lombok/javac/handlers/HandleFinalArgs.java», «src/core/lombok/eclipse/handlers/HandleFinalArgs.java»

Я никогда не делал много отражения или аннотаций написав на Java, поэтому указывает на всех, кто может понять, как получить рабочую аннотацию @FinalArgs в моем текущем проекте Java (не подключен к Lombak - моя команда не хочет использовать модифицированную/пользовательскую версию Lombak). Первый приз всем, кто может также объяснить, что происходит.

ответ

1

Вы не можете получить такую ​​аннотацию, не выполняя то, что делает Lombok (установка плагинов в IDE и, возможно, установка агента vm).

Однако вы можете установить большинство IDE, чтобы дать вам предупреждение или ошибку, если параметр был повторно назначен.

Нет никакой дополнительной выгоды, чтобы сделать их действительно окончательными. JIT достаточно умен, чтобы понять это самостоятельно.

0

Lombok не добавит эту функцию. Вы можете проинструктировать ваш IDE или статический источник анализатора генерировать предупреждения, но с java8 нет никакого дополнительного преимущества для того, чтобы сделать переменные и параметры окончательными. Если они действительно окончательные (никогда не переназначенные), они могут использоваться внутри лямбда-и анонимных внутренних классов, как если бы они были окончательными.