Eclipse/Java — деактивировать действие временного сохранения «экземпляры функционального интерфейса»

#java #eclipse

Вопрос:

Я использую программирование Eclipse IDE на Java, и обычно у меня нет никаких проблем с действием сохранения «Экземпляры функционального интерфейса: упрощение синтаксиса лямбда-выражения и ссылки на метод».

Однако в этом случае он меняется .map(t -gt; ensureClosedPeriods(t)) на .map(this::ensureClosedPeriods) .

Это вызывает проблему, так как метод статичен: его нельзя использовать в статическом контексте.

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

@formatter:off не работает в этом случае.

Кто-нибудь знает какое-нибудь решение?

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Это похоже на ошибку в действии, которое выполняет рефакторинг вашего кода. С точки зрения «любого решения», предположительно, вы могли бы переписать его следующим образом:

 .map(classname::ensureClosedPeriods)  

где classname находится имя класса, определяющего статический метод.

Комментарии:

1. А затем сообщите об этом как об ошибке в bugs.eclipse.org.

2. Спасибо вам за оба ответа. @хелвуд: это сработало.

3. @nitind: Я сделаю это. 🙂