Магия IntelliJ IDEA: Stream Debugger
Дебажишь цепочку стримов из 5 операций? Breakpoint показывает только входную коллекцию. Чтобы понять, где отвалились элементы, приходится разб…
Читать далее →
Самый чистый современный паттерн Java для обработки ошибок (без выбрасывания исключений для ожидаемых случаев):
Использовать sealed interface + records + исчерпывающий pattern mat…
Читать далее →
Java: исключения делятся на 2 типа - checked и unchecked.
Java: исключения делятся на 2 типа - checked и unchecked.
✅ Checked exceptions (проверяемые)
- компилятор *заставляет* обработать их
- нужно либо try/catch, либо throws в сигнатуре метода
- пример: FileNotFoundException, IOException
⚠️ Unchecked exceptions (непроверяемые)
- компилятор *не требует* обработки
- чаще всего это ошибки логики в коде
- пример: NullPointerException, IllegalArgumentException, IndexOutOfBoundsException
Запомни правило:
Checked = “предвидимая проблема” (например, файл не найден).
Unchecked = “косяк в коде” (например, null, неправильный индекс).
Java библиотека
Внутреннее устройство HashSet
HashSet — это реализация интерфейса Set на основе HashMap. Хранит уникальные элементы без дубликатов с быстрым O(1) поиском.
📦 Базовая структура
Ha…
Читать далее →
Java-совет: если у тебя есть список элементов, и нужно удалить дубликаты и отсортировать их в естественном порядке или с использованием кастомного компаратора, можно использовать T…
Читать далее →