Комментарии 12
Это же просто синтаксис языка, разве нет? Ладно бы вы показали примеры как можно использовать с запечатанные классы с паттерн матчингом, или же комбинацию запечатанных интерфейсов и записей. Но просто показать синтаксическую конструкцию языка и назвать это полезной фичей, это уже слишком.
Про лямбды и varargs(понятия не имею как перевести на русский) даже сказать нечего. С тем же успехом вы могли показать конкатенацию строк и назвать это полезной фичей и, формально, вы даже были бы правы.
Честно, в статье я ожидал увидеть какие-то приколюхи с рантаймом, по большей части, так как синтаксис у жабы довольно минималистичный(за это его и любим). Если уж рассказывать про синтаксические фичи какого-то языка, то в этом плане какой-нибудь тайпскрипт был бы гораздо интереснее.
Для меня самая классная фичп из последнего - новый switch/case без break, никогда.не понимал почему нельзя было обойтись без break и использовал if else вместо switch
Ещё круто, что новый свитч это по сути оператор, а не выражение. И его можно использовать в return (тут котлин передаёт привет)
Может стоило все же разобраться? Без brake в switch можно выполнить несколько секций:
switch str:
"редиска":
"сосиска":
"колбаска":
"нехороший человек"
break
"суперский":
"кавайный":
"хороший"
break
Автор оригинального комментария судя по всему говорит о https://openjdk.org/jeps/361
Мне кажется, не стоит обвинять человека в том, что он не разобрался, не разобравшись.
я в курсе как его можно использовать, вопрос в том как часто вы такое использовали? Я по моему 1 раз за всю мою карьеру
Очень странная статья. Пожалуй стоит по пунктам пройти. Но в обратном порядке.
4. Vararg для методов существует примерно с версии 1.5 Этой фиче лет 15-20 и её должен знать каждый джун. Иначе он не знает инструмент. А дальше возникает вопрос например целесообразности использования в случае myMethod(Object... objects).
Вывод - фича уровня джун. Он обязан её знать. Целесообразность (стоимость) использования... ну может джун+ Если на собесе он расскажет почему бы лучше не использовать instanceof
3. Лямбды. Ну вот не смешно. Их завезли в язык вместе с функциональными интерфейсами и Stream API, варианты которого приведены как лямбда выражения. Это начало "реанимации" Java, как конкурентного языка.
Вывод - фича уровня джун. Он обязан её знать. И тоже понимать, как оно "под капотом". Иногда эти вещи вредят. Начиная со специфики пробрасывания исключений из лямбд и заканчивая падением производительности в рантайме.
2. Record. Вот полезная фишка в чистом виде для DTO. Удобно и просто. Суперфича? Да хз. По сути это почти аннотация "@Data" из lombok. Уменьшает рутину.
1. Секционные классы. Это можно развидеть как-нибудь? Sealed class это от слова seal - печать. Это "запечатаный класс". Суперфункциональность?.. Да нет. Немного безопасности в коде. Фича ну так себе.
И вот вопрос, а почему тогда нет других фич "JEP", которые были завезены в Java в последние годы? Долгожданные мультистринги, var, новые фичи в switch expression, пробросы в exception источника NPE. Да их не один десяток при прыжке с 1.8 до ключевых 11 - 17 -21 версий, которые и язык делают лучше и очень дорабатывают рантайм.
Самая полезная фича java это kotlin!
Полезные фичи в Java для новичков: мой список