Predicate.not и Optional.isEmpty появились одновременно в Java 11, поэтому в данном случае not не даёт погоды. Но в других случаях, да, он может быть полезен, например: not(Collection::isEmpty).
Да, согласен, это слабенько. Потому что ничего кроме этих 10 методов в новых версиях Java не появилось.
--sarcasm mode off--
Откройте вы уже список JEP'ов в начале статьи и посмотрите, что добавилось.
Аналог Arrays.asList() для Set не нужен, всегда можно передать результат Arrays.asList в конструктор HashSet. Чаще всего такая инициализация востребована в статических константах, а значит лишняя аллокация не имеет значения.
Ну то есть вы предлагаете писать так?
Set<String> set = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("a", "b", "c")));
Очень удобно, ничего не скажешь.
так что на killer-фичу, заставляющую обновляться даже близко не подходит
Где я утверждал, что это киллер-фича? Вы взяли из списка наименее востребованные функции, и сделали вывод, что мигрировать не нужно. А остальные функции проигнорировали. Что скажете по поводу ProcessHandle, takeWhile, Cleaner? Почему вы делаете суждения исходя из востребованности каждой отдельной функции, а не их в совокупности? А почему вы проигнорировали тот факт, что это лишь первая часть? Будут ещё статьи и будет ещё много API.
Вообще-то в багтрекере OpenJDK и рассылке много обсуждали, сделать ли цикл for для Stream: bugs.openjdk.java.net/browse/JDK-8148917
Если у
write
убратьIOException
, тоcatch
больше не будет компилироваться.Predicate.not
иOptional.isEmpty
появились одновременно в Java 11, поэтому в данном случаеnot
не даёт погоды. Но в других случаях, да, он может быть полезен, например:not(Collection::isEmpty)
.Или это был троллинг?
peek
будет?Ну ёлы-палы, добавьте пару операций к стриму, и он сразу же станет смысленным. Ну, так, например:
А с циклом
for
то же самое будет уже сильно сложнее.--sarcasm mode off--
Откройте вы уже список JEP'ов в начале статьи и посмотрите, что добавилось.
List.set() будет работать
"Я это не использую, значит оно не нужно"
Process.pid
илиCleaner
:)takeWhile
остановится сразу, аfilter
будет идти до самого конца.Ну то есть вы предлагаете писать так?
Очень удобно, ничего не скажешь.
Где я утверждал, что это киллер-фича? Вы взяли из списка наименее востребованные функции, и сделали вывод, что мигрировать не нужно. А остальные функции проигнорировали. Что скажете по поводу ProcessHandle, takeWhile, Cleaner? Почему вы делаете суждения исходя из востребованности каждой отдельной функции, а не их в совокупности? А почему вы проигнорировали тот факт, что это лишь первая часть? Будут ещё статьи и будет ещё много API.