TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.4K subscribers
Post #8608 1.07K
Синтаксис, который восемь лет лежит в драфте JEP, предлагают включать препроцессором перед javac

Декоратор или адаптер наполовину состоит из методов, которые только зовут то же самое у обёрнутого объекта. В самой JDK у Collections.UnmodifiableCollection таких методов 14.

JEP 8209434 «Concise Method Bodies» Брайана Гётца предлагает записывать их как лямбды: public int size() -> c.size(); или ссылкой на метод: public int size() = aList::size;. Заявку подали в августе 2018 года, и она до сих пор в статусе Draft: ни целевого релиза, ни preview-флага. В C# такие тела работают с 2015 года.

Автор статьи ждать перестал и собрал препроцессор java-composition: он разворачивает такие тела в обычный Java-код до того, как файл дойдёт до javac, начиная с Java 8.

Цена — исходник, который без препроцессора не соберётся ни у кого. Взяли бы такое в проект, который поддерживать ещё пять лет?
  • 🤣 1
More from @a_cup_of_java
  1. Sep 20, 2026Docker Compose с JDK 26: зависимости в контейнерах, Java локально В примере Maven-приложен…
  2. Sep 20, 2026Как перевести Dev Services на новый API Quarkus 3.25 В Quarkus 3.25 появился новый API для…
  3. Sep 20, 2026Hibernate 7: как заменить устаревший @GenericGenerator При миграции на Hibernate 7 аннотац…
  4. Sep 19, 2026Как собрать движок отказоустойчивых сценариев на Java и SQLite Persistasaurus показывает у…
  5. Sep 19, 2026Как построить многоуровневую защиту LLM-вызовов в Spring AI 2.0 В Spring Boot 4.1 защиту в…
  6. Sep 19, 2026В JDK 27 и 28 ускорили операции Curve25519 С JDK 27 build 14 изменения внутренних структур…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →