Как стать автором
Обновить

Комментарии 27

НЛО прилетело и опубликовало эту надпись здесь
11-я LTE и будет такой кажется до 24 года, так что все эти вкушняшки только года через три попробуем.

Java 17 LTS выходит в сентябре 2021

Капитан подсказывает — то что в 2021 появится 17я не значит, что 11я исчезнет.

Тут салага хотел вкусняшек попробовать, и то что капитан настаивает на 11-ой ему до фени

Вау, нормальные строки завезли в 2021 году.

Ну че ты начинаешь, мы только на "людей" начинаем быть похожи.

Пара мыслей про новый System.Logger:


  • появилась поддержка лямбда-выражений — это то, чего не хватало в SLF4J. Кажется, что связка System.Logger и log4j2 будет идеальной;
  • убрали лишние уровни логирования типа FINE, FINER, FINEST и оставили привычные 5 уровней (+2 системных);
  • но при этом поленились создавать методы debug(), info() и прочие, предлагая каждый раз указывать уровень логирования в аргументах метода;
  • в lombok до сих пор нет аннотации, которая будет генерировать инстанс такого логера.

В итоге переход с SLF4J будет слишком тяжелым: нужно будет руками создавать экземпляр логера в каждом классе и везде придется поменять вызовы логирующих методов. Если с первый недостаток можно было бы устранить, сделав PR в lombok, то для устранения второго придется писать тулзу (или искать существующую), которая пробежится по всем классам и переделает вызовы логирования в соответствии с новой парадигмой.
В общем, создать универсальное средство для логирования, которое стало бы общепринятым в Java-мире, так и не удалось. SLF4J и Logback мертвы, но все еще хорошо справляются со своей работой, а переход с SLF4J на System.Logger кажется слишком болезненным.

Lombok мог бы помочь и с генерацией кода для атрибута @Serial(1) на уровне класса.

Добавление 'Objects.checkIndex' выглядит как то совсем протянуто. С таким подходом можно практически любой метод в Objects поместить.
Откуда необходимость вообще взялась добавлять такой метод в стандартную библиотеку?
Плюс даже нет возможности бросить какое то специфичное исключение или текст ошибки хотя бы кастомизировать, судя по всему
Я не работаю с Java если что, но выглядит странно

НЛО прилетело и опубликовало эту надпись здесь

Прошу прощения, не понял, то ли Вы меня поддержали, то ли наоборот)

НЛО прилетело и опубликовало эту надпись здесь

Не в суперклассе Object, а в утилитном классе Objects, который в отдельном пакете java.util находится.

НЛО прилетело и опубликовало эту надпись здесь

А куча новых методов в стринге не смущает? А новые методы у стрима? Давно пора завезти нормальные экстеншны, и перестать подавать яичницу в качестве божьего дара...

Ну строковые методы хотя бы отношения к строками имеют, но findIndex в объекте — вообще за гранью)


да, с экстеншнами это выглядело бы куда лучше

findIndex в объекте — вообще за гранью)

Выше уже писали, я на всякий случай повторюсь. findIndex в классе Objects. Это такой утилити класс, в который складывают всякие вот такие методы.

Я лично скорее против экстенжн методов, чем за них. Но в джаве можно пользоваться ими уже сейчас, достаточно подключить Lombok.

Э-э-э, ну а Lombok-то как заменит Extension methods?

Так у него есть, как таковая фича, extension methods.
Более того, в интелидже уже есть их минимальная поддержка.

Откуда необходимость вообще взялась добавлять такой метод в стандартную библиотеку?

Я так понимаю, подобные методы в ней были с самого начала, только внутренние или приватные.

Графики начинающиеся не с 0 воспринимаются тяжело и сбивают с толку

Какой кошмар. Статью можно сразу удалять из-за такого позора.
PS. Графики рисует сторонняя тулза.

Если не обращать на них внимания, статья в целом хорошая. Добавил к закладки некоторые примеры.

Вижу в статье 2 графика и оба с логарифмической шкалой. Логарифмическую шкалу начинать от 0 невозможно.

У вас код в бенчмарках не совсем честный и правильный.
Укажите в конструкторе ArrayList размер внутренного массива сразу. Он ведь заранее известен.
В каком из бенчмарков? В первом вызывается new ArrayList<>(sourceList), и он и так выделяет массив точной длины. Во втором размер неизвестен в общем случае – фильтр может быть любым.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории