Комментарии 15
Я недавно задавался вопросом «какой может быть открывающая картинка для поста про Java 19», там в реплаях нагенерили изображение нейросетями по запросу «Duke, the Java mascot discovers new Java features in a treasure chest». Получилось не совсем то, но раз тут пост про Java 19 без открывающей картинки, пусть тогда оно здесь будет :)
Как там честные дженерики и unsigned int поживают, уже сделали?
Честные дженерики потребуют изменения структуры jvm, что приведёт к отказу от обратной совместимости. Если очень нужно разделять List<A> от List<B> и менять архитектуру нельзя/невозможно, то решением будет наследование от списка с реализацией метода Class getElementClass().
Так ли часто нужен unsigned? На практике редко.
Для unsigned int есть Integer.compareUnsigned(a, b), и другие функции. То же для остальных примитивов.
Unsigned не нужен.
С паттернами записей код становится существенно компактнее:
А кто сказал, что компактнее == читабельнее? Я считаю, что читабельность упала.
Изменения pattern-matching для "switch" всё более похожи на копирастию с костылями. Взяли тот же "when" из C#, который к тому же относился к statement-switch, а не expression-switch. Нет бы заменить "&&", "||" на нормальные слова "and" и "or". Чувствую, что ещё не решили, поэтому пока Preview.
Вышла Java 19