TGViewer
Mama Java Mama Java @mama_java · 35 subscribers
Post #14 388
🍑 В Java 19 в сентябре 2022 добавили несколько интересных штук (опять в режиме превью)

- Паттерны записей (o instanceof Point(int x, int y) {})
- В паттерн-матчинг switch - охранные паттерны && были заменены на условия when (было case Integer x && x > 0 -> …; стало case Integer x when x > 0 -> …;) и null матчится категорически только в ветке case null
- Виртуальные потоки
- Foreign Function & Memory API

🥭 В Java 20 в марте 2023 содержала в основном различные улучшения всего, что было добавлено в Java 19.

🥝 В сентябре 2023 вышла Java 21, в ней из заметного:
- Наконец добавили в основную версию виртуальные потоки, паттерны записей и паттерн-матчинг switch,
- Добавили (естественно как превью) строковые шаблоны (например: String str = STR."\{x} is the capital of \{y}";) и безымянные переменные и паттерны (чтоб не придумывать имена),
- Также теперь (в режиме превью) можно запускать программы с методами main(), которые не являются public static и у которых нет параметра String[] args
- Также были сделаны изменения относительно сборщика мусора, шифрования и прочие.

🍒 Следующая версия - Java 22 - вышла в марте 2024 года, и вот что интересного там добавилось:

- Безымянные переменные включили в основную версию (переменная, которая обозначена автором как неиспользуемая и обозначаемая символом подчёркивания (_))Также был сделан ряд прочих изменений, не столь заметных.
- Стало возможным в режиме превью писать инструкции кода в конструкторе перед явным вызовом конструктора (super() или this())
- Теперь можно запускать программы, состоящие из нескольких исходных файлов Java (это развитие фичи из Java 11 - где стало можно запускать исходные файлы без компиляции >java Main.java - теперь Main может содержать вызовы методов других классов и это не приведет к ошибке).

Вот, собственно, и вся история!

Хотя, погодите, на носу сентябрь, а это значит, что буквально через месяц нас ждет новая Java 23 🥳.

Судя по всему, все новшества там ожидаются в режиме превью - в частности добавятся примитивы в шаблоны instanceof и switch и появится возможность импорта целого модуля (import module M).

Но это уже совсем другая история!

🍀
  • 👍 5
More from @mama_java
  1. Sep 3, 2024https://vk.com/@mama_java_dev-kak-postavit-eclipse-na-udalennyi-oracle-linux-server
  2. Aug 25, 2024https://m.vk.com/@mama_java_dev-pro-aspekty
  3. Aug 18, 2024☕️ Продолжаем нашу историю эволюции Java. (https://vk.com/@-226906615-i-esche-pro-versii-j…
  4. Aug 11, 2024В прошлой серии мы окунулись в далекое прошлое Java, теперь взглянем на недавнее. Итак: "ч…
  5. Aug 4, 2024...Мне посчастливилось работать на проекте, где использовалось все многообразие версий Jav…
  6. Jul 27, 2024👋Здравствуй, приятель, рада приветствовать тебя на своём канале, посвященном языку Java,…
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 →