⚙️ Class.getRecordComponents()
Class.getRecordComponents() предоставляет информацию о компонентах записи. Это полезно для рефлексии, сериализации и автоматического отображения данных в классах Record.
👩💻
@javaquiz
Class.getRecordComponents() предоставляет информацию о компонентах записи. Это полезно для рефлексии, сериализации и автоматического отображения данных в классах Record.
👩💻
@javaquiz
⚙️ Pattern.asPredicate()
Pattern.asPredicate() преобразует регулярное выражение в Predicate, который можно применять непосредственно в потоках (Stream). Это удобно для фильтрации строк без необходимости явного вызова .matches().
👩💻
@javaquiz
Pattern.asPredicate() преобразует регулярное выражение в Predicate, который можно применять непосредственно в потоках (Stream). Это удобно для фильтрации строк без необходимости явного вызова .matches().
👩💻
@javaquiz
ClassLoader.getResources() ищет все ресурсы с заданным именем в classpath и возвращает Enumeration. Это полезно для загрузки всех версий конфигурационных файлов, плагинов или ресурсов из JAR-файлов и папок одновременно. 👩💻
@javaquiz
@javaquiz
⚙️ Class.getNestMembers()
Class.getNestMembers() возвращает массив всех классов, которые принадлежат одной «группе вложенности» (nest) — то есть тем классам, которые могут обмениваться приватными методами и полями. Это полезно для анализа доступа между вложенными классами и для инструментов анализа байткода.
👩💻
@javaquiz
Class.getNestMembers() возвращает массив всех классов, которые принадлежат одной «группе вложенности» (nest) — то есть тем классам, которые могут обмениваться приватными методами и полями. Это полезно для анализа доступа между вложенными классами и для инструментов анализа байткода.
👩💻
@javaquiz
Курс «Java Developer. Professional» — это структурированное обучение для разработчиков, которые хотят выйти на новый уровень, освоить актуальный стек технологий и уверенно претендовать на позиции уровня Middle+.
Программа OTUS постоянно обновляется, соответствуя требованиям рынка, а диплом ценится работодателями.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🚫 Антипаттерн недели: Нарушение принципа инкапсуляции через public поля
В Java открытие полей класса как public — это плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.
✔️ Используйте private поля и методы getter/setter для доступа и контроля над значениями.
👩💻
@javaquiz
В Java открытие полей класса как public — это плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.
✔️ Используйте private поля и методы getter/setter для доступа и контроля над значениями.
👩💻
@javaquiz
На открытом уроке «Облако в кармане: запускаем всю инфраструктуру для теста при сборке» от OTUS мы расскажем, как избежать ручных настроек и запусков. Вместо этого вы научитесь автоматизировать весь процесс с помощью Docker, DockerCompose и TestContainers, интегрируя их с Gradle.
Урок полезен для разработчиков на Kotlin и Java, которые работают с автотестами — интеграционными и end-to-end.
В ходе урока вы освоите:
▫️Автоматический запуск всей необходимой инфраструктуры для тестирования.
▫️Создание Docker-образов для тестов и деплоя.
▫️Разработку автотестов, которые поднимут ваши навыки на новый уровень.
Участники получат скидку на курс «Kotlin Backend Developer. Professional».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Строковые шаблоны (Preview)
Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.
🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.
ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.
👩💻
@javaquiz
Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.
🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.
ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.
👩💻
@javaquiz