Pattern.compile().flags() для получения флагов регулярного выраженияВ Java 9 был добавлен метод
flags() в класс Pattern, который позволяет получить флаги, используемые при компиляции регулярного выражения.• Это может быть полезно для анализа и отладки регулярных выражений, особенно в сложных системах, где нужно понимать, с какими опциями было создано регулярное выражение.• В этом примере создаётся регулярное выражение с несколькими флагами, и затем с помощью метода flags() мы можем получить информацию о нихJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Создаем графическое окно и меняем цвет фона при клике мышью с помощью Java
Программа создает окно размером 400x400 пикселей, где при клике мышью меняется цвет фона на случайный. Здесь используются следующие компоненты:
1) JFrame - основное окно программы.
2) JPanel - панель внутри окна, цвет фона которой меняется.
3) MouseAdapter - класс для обработки событий мыши. В данном случае мы переопределяем метод mouseClicked, чтобы изменить цвет фона панели при клике мыши.
Программа создает окно размером 400x400 пикселей, где при клике мышью меняется цвет фона на случайный. Здесь используются следующие компоненты:
1) JFrame - основное окно программы.
2) JPanel - панель внутри окна, цвет фона которой меняется.
3) MouseAdapter - класс для обработки событий мыши. В данном случае мы переопределяем метод mouseClicked, чтобы изменить цвет фона панели при клике мыши.
👍9❤5
String::indent для удобной работы с отступами строкНачиная с Java 12, был добавлен метод
String.indent(), который позволяет легко добавлять или удалять отступы у каждой строки в многострочном тексте.• Это полезно для форматирования строк, когда нужно управлять отступами, особенно при создании сложных текстовых структур.• Метод String.indent() делает управление отступами более удобным и чистым, особенно при работе с форматированными текстами в Java.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4
Picocli — это простая и гибкая библиотека для создания командных интерфейсов (CLI) в Java. Она поддерживает аннотации для автоматической генерации документации по командам, обработку аргументов, подкоманд, автодополнение и много других возможностей, которые упрощают создание сложных CLI-приложений.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2❤🔥1
HikariCP — это лёгкий и быстрый пул соединений для баз данных, который считается одним из самых производительных в экосистеме Java.
Он минимизирует задержки при подключении к базам данных, обеспечивая быстрый доступ к ресурсам и высокую масштабируемость. Благодаря простоте настройки и высокой производительности, HikariCP является отличным выбором для проектов, где требуется эффективное управление соединениями с базой данных.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
Objects::isNull для удобной проверки на nullНачиная с Java 7, был добавлен метод
Objects.isNull(), который позволяет более читаемо проверять объекты на null. Это полезно для улучшения читаемости кода, особенно когда нужно часто проверять переменные на null в сложных конструкциях.• Objects.isNull() помогает сделать код более выразительным и упрощает проверку объектов, избегая громоздких условных операторов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4
String::strip для удаления пробеловНачиная с Java 11, был добавлен метод
String.strip(), который удаляет пробелы в начале и в конце строки. В отличие от trim(), он корректно работает с символами пробела, определёнными в Unicode, что делает его более универсальным.• String.strip() полезен для работы с текстовыми данными, где необходимо гарантированно удалить пробелы в соответствии с международными стандартами Unicode.• Этот метод также предоставляет аналоги для удаления только ведущих или завершающих пробелов: stripLeading() и stripTrailing().Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🔥1🤔1
Collectors.filtering() для фильтрации элементов при сборе в коллекциюНачиная с Java 9, метод
Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока.• Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования.• Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
JUnit 5 — это обновлённая версия популярной библиотеки для тестирования, которая предоставляет мощный и гибкий API для написания модульных тестов. JUnit 5 поддерживает аннотации для удобного создания тестов, расширяемость через расширения, а также работу с различными тестовыми сценариями. Он также лучше интегрируется с современными инструментами и фреймворками.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2🔥1
TestContainers — это библиотека, которая позволяет создавать тестовые окружения с использованием Docker-контейнеров. Это особенно полезно для тестирования взаимодействий с базами данных, сообщениями, веб-сервисами и другими инфраструктурными компонентами в изолированной среде.
TestContainers помогает запускать интеграционные тесты, используя реальные сервисы, работающие в контейнерах.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
В Java 21 были введены виртуальные потоки — лёгковесные потоки, которые значительно упрощают создание и управление большим количеством параллельных задач. Они позволяют запускать тысячи и даже миллионы потоков без значительных затрат ресурсов и сложности управления.
• Виртуальные потоки потребляют меньше системных ресурсов, позволяя более эффективно использовать многопоточность.• Они упрощают написание параллельного кода, делая его более читаемым и поддерживаемым.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Optional.ifPresentOrElse() для обработки значения или выполнения альтернативного действияНачиная с Java 9, метод
Optional.ifPresentOrElse() позволяет выполнить действие, если значение присутствует, или выполнить другое действие, если значение отсутствует. Это помогает избавиться от лишних проверок на наличие значения.• Optional.ifPresentOrElse() упрощает обработку значений и позволяет добавить fallback-логику в случае отсутствия значения.• Этот метод делает код более компактным и читабельным, устраняя необходимость использовать громоздкие условные конструкции.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
QueryDSL — это библиотека, которая позволяет строить типобезопасные SQL-запросы прямо на языке Java. Она поддерживает SQL, JPA, MongoDB и другие системы баз данных. Благодаря QueryDSL, разработчики могут писать сложные запросы без явного использования SQL, что значительно улучшает читаемость и поддержку кода.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🤔1
MyBatis — это гибкий и мощный фреймворк для работы с базами данных, который позволяет маппировать SQL-запросы на Java-объекты. В отличие от других ORM, таких как Hibernate, MyBatis предоставляет больше контроля над SQL-запросами и позволяет напрямую писать SQL, оставаясь при этом гибким инструментом для работы с базами данных.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🤔1
Optional.orElseThrow() для управления отсутствующими значениямиМетод
Optional.orElseThrow() позволяет выбросить исключение, если значение отсутствует. Это полезно для случаев, когда наличие значения является критически важным, и его отсутствие нужно обрабатывать явно с помощью исключений.• Optional.orElseThrow() делает код более безопасным, так как позволяет точно контролировать, когда нужно выбрасывать исключение при отсутствии значения.• Метод упрощает обработку ошибок и исключений в случаях, когда Optional содержит пустое значение.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
JDBI — это небольшая и гибкая библиотека для взаимодействия с реляционными базами данных в Java. Она предоставляет высокоуровневый API для выполнения SQL-запросов и маппинга результатов на Java-объекты. В отличие от более сложных ORM, таких как Hibernate, JDBI фокусируется на упрощении работы с чистым SQL, обеспечивая при этом удобную интеграцию с объектно-ориентированным кодом.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
Dozer — это мощная библиотека для маппинга объектов в Java. Она поддерживает глубокое копирование, преобразование типов, а также позволяет легко маппировать сложные объекты и коллекции. Dozer может быть полезен, когда нужно быстро настроить преобразования между объектами разных типов, минимизируя код.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2
Please open Telegram to view this post
VIEW IN TELEGRAM