👍17❤3
Collectors.mapping() для преобразования данных при сборе в коллекциюМетод
Collectors.mapping() позволяет преобразовывать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно не только собрать данные, но и предварительно изменить каждый элемент (например, преобразовать объект в строку).• Collectors.mapping() делает код более гибким и позволяет одновременно выполнять преобразования и сбор данных.• Этот метод особенно полезен для сбора данных с модификацией их формата или структуры.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Stream.takeWhile() для фильтрации данныхStream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Javers — это мощная библиотека для отслеживания изменений в Java-объектах. Она помогает сохранять и сравнивать состояния объектов, что особенно полезно при необходимости ведения истории изменений данных. С помощью Javers можно легко отслеживать, какие поля были изменены и на какие значения.
🗣 Javers — отличный выбор для приложений, где важна история изменений объектов и их версионность.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
👍10🤔6
Stream.dropWhile() для фильтрации данныхStream.dropWhile() — это метод, который появился в Java 9 и позволяет пропускать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток продолжает работу с оставшимися элементами.• dropWhile() полезен для работы с отсортированными данными, когда нужно пропустить первые элементы, не соответствующие заданному критерию, и продолжить работу с остальными.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
ReentrantLock
Это означает, что один поток может несколько раз захватывать и освобождать блокировку, что может быть полезно в сложных сценариях синхронизации.
#для_начинающих
ReentrantLock - это класс в Java, который предоставляет механизм блокировки с возможностью повторного входа. Это означает, что один поток может несколько раз захватывать и освобождать блокировку, что может быть полезно в сложных сценариях синхронизации.
#для_начинающих
👍7❤3
Optional.map() для преобразования значенийOptional.map() — это метод, который позволяет применять функцию к значению, если оно присутствует. Это полезно для обработки объектов, которые могут быть null, и выполнения безопасных преобразований без дополнительных проверок.• map() упрощает работу с объектами Optional, предоставляя элегантный способ преобразования значений, если они существуют.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Collectors.collectingAndThen() для преобразования результатов коллектораCollectors.collectingAndThen() позволяет сначала применить коллектор для сбора данных, а затем преобразовать результат с помощью заданной функции. Это полезно, когда нужно применить дополнительную обработку к собранным данным, например, сделать коллекцию неизменяемой.• collectingAndThen() упрощает код, предоставляя возможность применить пост-обработку к результату коллектора.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Tinylog — это минималистичная и быстрая библиотека логирования, которая имеет простой синтаксис и богатый набор возможностей, включая асинхронное логирование, конфигурацию через файлы и фильтрацию по уровням. Она идеально подходит для приложений, которым требуется базовое логирование с минимальными затратами ресурсов.
• Tinylog — отличный выбор для небольших проектов, где не нужны сложные системы логирования.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Reflections — это небольшая, но мощная библиотека для Java, которая позволяет сканировать классы, методы, поля и аннотации во время выполнения. С её помощью можно быстро находить компоненты по заданным критериям, например, все классы, реализующие определённый интерфейс, или все методы, помеченные определённой аннотацией.
• Reflections упрощает динамический анализ классов и может быть полезен при реализации системы плагинов, регистрации классов или поиске обработчиков событий.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
OptionalInt — это специальный контейнер, введённый в Java 8, который позволяет работать с числовыми значениями, которые могут отсутствовать. Он полезен в ситуациях, когда метод возвращает необязательное числовое значение, избегая использования null и уменьшая вероятность возникновения ошибок.
• OptionalInt предоставляет методы для проверки наличия значения, его безопасного извлечения и задания дефолтных значений, если значение отсутствует.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
formatted для более простого форматирования строк (Java 15+)Метод
formatted — это новая функция, появившаяся в Java 15, которая позволяет легко форматировать строки. Этот метод является лаконичной и более читабельной альтернативой методу String.format(). Теперь вы можете напрямую вызывать метод форматирования на строковом литерале или объекте String.• formatted упрощает форматирование строк, делая код более компактным и понятным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Функциональные коллекции в Java с Vavr: обзор и применение
Приветствую всех, кто устал от бесконечных проверок на null , громоздких блоков try-catch и мутирующих коллекций. Если вы когда-нибудь мечтали о том, чтобы привнести в Java немного функциональности,...
👍2
#вопросы_с_собеседований
🤔 Что будет, если в static блоке кода возникнет исключение?
Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса.
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.
Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.
Java Learning👩💻
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.
Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤🔥3😢3
Please open Telegram to view this post
VIEW IN TELEGRAM