Ключ изменили после вставки — и значение таинственно исчезло.
За 30 секунд разбираю ловушку, в которую попадаются даже опытные разработчики.
#java #джава
Джун ❌ использует += и вручную проверяет последний элемент — громоздко и медленно. Сеньор ✅ решает в одну строку через String.join.
#java #джава #backend #программист #javadev #разработка
Коллекция без дубликатов за 30 секунд.
#java #джава #backend #javadeveloper
Написал цепочку map и filter, а список остался прежним.
За 30 секунд разбираю ловушку, в которую попадаются новички в Stream API.
Смотри до конца, чтобы не оставлять стримы без терминальной операции.
#java #джава #backend #программист #javadeveloper
Джун ❌ пытается удалить прямо в for-each — и ловит исключение. Сеньор ✅ решает задачу в одну строку без ошибок.
Смотри за 10 секунд, как обходить списки правильно.
#java #джава #backend #программист #javadev #разработка
Старый метод Date.getYear() живёт по стандарту Java 1.0.
Показываю за 30 секунд, в чём подвох и чем его заменить.
#java #джава #backend #программист #javadev #код #айти #разработка
Джун ❌ пишет цикл с флагом и break. Сеньор ✅ умещает проверку в одну строку через allMatch.
#java #джава #javadeveloper
На параллельном стриме findFirst может вернуть не первый элемент — результат тебя удивит.
Разбираю ловушку за 30 секунд — смотри до конца, чтобы не запутаться в стримах.
#java #javaprogramming #джава
Одна задача — два подхода. У одного цикл и проверка, у другого — чистое решение.
Глянь, как выглядит настоящий clean code за 10 секунд.
Казалось бы, просто создаём список через List.of, но есть нюанс, о котором молчат.
Разбираю за 30 секунд — смотри, чтобы не получить сюрприз в проде.
Два одинаковых массива, а `==` говорит false.
Разбираю подвох за 30 секунд — смотри, чтобы не споткнуться на простом.
Условие выглядит правильно, но ведёт себя не так, как ты ожидаешь.
За 30 секунд разбираю ловушку с операторами, в которую попадаются даже опытные.
#java #джава #жава #backend #программист #javadev #разработка
Казалось бы, "a.b".split(".") должен вернуть две строки, но массив получается пустым.
Разбираю ловушку за 30 секунд.
#java #джава #backend #программист #javadev #разработка
Код с try, finally и двумя return — результат может тебя удивить.
Разбираю ловушку за 30 секунд, чтобы ты не наступил в неё в проде.
#java #джава #backend #программист #javadev #код #айти #разработка
Одна строка x = x++; — и результат совсем не тот, что ты ожидаешь.
Разбираю за 30 секунд — смотри, чтобы не путаться в операторах.
#java #джава #backend #программист #javadeveloper
Крошечный цикл с byte, который выглядит правильно, но работает не так, как ты ждёшь.
Разбираю за 30 секунд — смотри, чтобы не наступить в проде.
Кажется, Optional.of() защитит от NPE. Но если передать в него null, он сам бросит NullPointerException.
of — когда точно не null, ofNullable — когда может быть null.
List String list = Arrays.asList("A", "B", "C");
list.add("D"); — ждёшь добавления, а получаешь исключение.
Всё потому, что возвращается список фиксированного размера (не java.util.ArrayList).
✅ Правильно: обернуть в new ArrayList
Код long micros = 1000 * 60 * 60 * 24 * 30; даёт -1702967296 вместо ожидаемых 2.5 миллиардов.
Всё потому, что умножение идёт в int и переполняется до присвоения в long.
✅ Правильно: поставить L в первом литерале.
#java #джава #backend #программист #javadev #код #разработка
❌ Тернарный оператор + null = ? #java #backend #программирование #javadeveloper #джава #javatutorial
❌ Тернарный оператор + null = ?
Integer result = condition ? 1 : null;
— если condition == false, ждёшь null, а получаешь NullPointerException.
Общий тип тернарного выражения вычисляется как int, и null автоанбоксится → NPE.
✅ Правильно: привести обе ветви к Integer.
Сохрани, чтобы не словить NPE на ровном месте
