Disruptor onEvent обработчик

В различных примерах onEvent переменные иногда объявляются как final, а иногда нет.

Например:

public void onEvent(final ValueEvent entry, final long sequence, final boolean onEndOfBatch)

в отличие от

public void onEvent(ValueEvent entry, long sequence, boolean onEndOfBatch)

Пожалуйста, я могу получить комментарий о причине и использовании финала?

1 ответ

Короткий ответ - вызов стандартов кодирования LMAX для параметров, которые должны быть finalОднако это просто вопрос соглашения.

Добавление final к параметру просто означает, что метод не может изменить значение примитивов или переназначить ссылки для пропущенных объектов. Смотрите здесь для получения дополнительной информации о финале

Многие люди считают, что присвоение нового значения параметру является плохой практикой и приводит ко многим незаметным ошибкам.

Другие вопросы по тегам