Какой метод Stream API завершит вычисления, как только найден первый элемент, удовлетворяющий условию?
Anonymous Quiz
2%
filter()
79%
findFirst()
16%
anyMatch()
1%
collect()
1%
Посмотреть ответ
👍3✍2🎉2
Что делает аннотация @Slf4j (Lombok)?
Anonymous Quiz
29%
Генерирует статическое поле-логгер и методы logInfo, logError
39%
Генерирует поле логгера выбранного фреймворка (по умолчанию SLF4J)
3%
Добавляет поддержку Structured Logging в JVM
9%
Перехватывает исключения и логирует их автоматически
20%
Посмотреть ответ
✍3👍3🎉1
Знакомство с классом LocalDate в Java. Часть 3.
Пример использования LocalDate на коммерческом проекте.
Допустим, у нас есть задача вычислить дату через два месяца от текущей даты и проверить, выпадает ли она на выходной день:
Введем переменную currentDate, которая будет соответствовать фиксированной дате (20 июля 2025). Введем переменную twoMonthsLater, которая будет соответствовать дате, которая старше нашей на 2 месяца.
Пропишем условие, которое будет проверять, выпадает ли наша новая дата twoMonthsLater на выходной день или нет (Картинка 1).
Чтобы получить конкретный день нашей новой даты, воспользуемся методом класса LocalDate - getDayOfWeek(), а также проверки нужного дня недели воспользуемся энамом DayOfWeek из того же пакета java.time. И сделаем сравнение (Картинка 2).
Вывод в консоль на Картинке 2.
✅ JavaStart. Подписаться
Пример использования LocalDate на коммерческом проекте.
Допустим, у нас есть задача вычислить дату через два месяца от текущей даты и проверить, выпадает ли она на выходной день:
Введем переменную currentDate, которая будет соответствовать фиксированной дате (20 июля 2025). Введем переменную twoMonthsLater, которая будет соответствовать дате, которая старше нашей на 2 месяца.
Пропишем условие, которое будет проверять, выпадает ли наша новая дата twoMonthsLater на выходной день или нет (Картинка 1).
Чтобы получить конкретный день нашей новой даты, воспользуемся методом класса LocalDate - getDayOfWeek(), а также проверки нужного дня недели воспользуемся энамом DayOfWeek из того же пакета java.time. И сделаем сравнение (Картинка 2).
Вывод в консоль на Картинке 2.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍2🔥2👨💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6💯4✍2❤1
Что произойдёт, если у класса record явно переопределить метод hashCode() и не переопределить equals()?
Anonymous Quiz
55%
Допустимо, но нарушит контракт equals/hashCode, что приведёт к некорректной работе Set/Map
13%
Ошибка компиляции - оба метода должны переопределяться вместе
17%
Javac автоматически сгенерирует совместимый equals()
6%
JVM проигнорирует пользовательский hashCode() и оставит сгенерированный
9%
Посмотреть ответ
✍3👍3🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯3👍2
Какой из Collectors лучше всего подходит для подсчёта количества элементов потока?
Anonymous Quiz
12%
Collectors.toList()
47%
Collectors.counting()
10%
Collectors.summingInt()
19%
Collectors.reducing(0, e -> 1, Integer::sum)
12%
Посмотреть ответ
✍4👍3❤1🎉1
ООП, Инкапсуляция в Java простыми словами. Часть 1.
Инкапсуляция – это одна из четырёх фундаментальных концепций ООП. Названия оставшихся трёх: наследование, полиморфизм, абстракция.
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
1) Объявите переменные класса как private;
2) Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Рассмотрим пример Инкапсуляции на Картинке 1.
У нас есть некий класс EncapsulationClass со своими атрибутами – 3 private поля: name, id и age. А значит напрямую эти поля недоступны из других классов. Но также у нас есть публичные (public) методы, взаимодействующие с этими приватными полями. Следовательно, эти методы доступны в других классах.
Публичные методы setXXX() и getXXX() являются точками доступа переменных экземпляра класса EncapsulationClass. Обычно эти методы упоминаются как геттеры и сеттеры (Getters and Setters).
Следовательно, любой класс, который хочет получить доступ к переменным, должен получить к ним доступ через эти геттеры и сеттеры.
Доступ к переменным класса EncapsulationClass можно получить следующей программой (Картинка 2).
Мы получим следующий результат:
Имя: Олег, возраст: 28.
✅ JavaStart. Подписаться
Инкапсуляция – это одна из четырёх фундаментальных концепций ООП. Названия оставшихся трёх: наследование, полиморфизм, абстракция.
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
1) Объявите переменные класса как private;
2) Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Рассмотрим пример Инкапсуляции на Картинке 1.
У нас есть некий класс EncapsulationClass со своими атрибутами – 3 private поля: name, id и age. А значит напрямую эти поля недоступны из других классов. Но также у нас есть публичные (public) методы, взаимодействующие с этими приватными полями. Следовательно, эти методы доступны в других классах.
Публичные методы setXXX() и getXXX() являются точками доступа переменных экземпляра класса EncapsulationClass. Обычно эти методы упоминаются как геттеры и сеттеры (Getters and Setters).
Следовательно, любой класс, который хочет получить доступ к переменным, должен получить к ним доступ через эти геттеры и сеттеры.
Доступ к переменным класса EncapsulationClass можно получить следующей программой (Картинка 2).
Мы получим следующий результат:
Имя: Олег, возраст: 28.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3✍2👨💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🔥3👍1
Что вернёт вызов Stream.of(1,2,3).map(i -> i*2).collect(Collectors.toSet()) ?
Anonymous Quiz
6%
[2,4,6] (List)
2%
Optional[6]
85%
{2,4,6} (Set)
0%
Stream<Integer>
8%
Посмотреть ответ
✍4👍3🎉1
Что произойдёт при попытке добавить элемент в List внутри метода, отмеченного @Transactional(propagation = Propagation.MANDATORY), если текущей транзакции нет?
Anonymous Quiz
25%
Создастся новая транзакция
12%
Операция выполнится без транзакции
31%
Бросится IllegalTransactionStateException
8%
Произойдёт RollbackException
25%
Посмотреть ответ
✍3👍2🔥2
ООП, Инкапсуляция в Java простыми словами. Часть 2.
Скрытие информации в Java. Модификаторы доступа.
Как мы уже рассмотрели ранее, мы используем концепцию инкапсуляции для реализации механизма сокрытия информации.
Этот подход, как и абстракция, один из наиболее часто используемых механизмов в Java. Механизм сокрытия делает атрибуты класса недоступными извне и защищенными от нежелательных/случайных действий.
Говоря об этой концепции, не лишним будет разобрать инструменты для обозначения доступности элементов – модификаторы доступа. Java поддерживает четыре модификатора доступа, используемые для определения видимости классов, методов и атрибутов. Каждый из них указывает уровень доступности, и мы можем использовать только один для каждого класса, метода или атрибута.
Перечислим их, начиная с наиболее ограничивающих:
1) private;
2) no modifier (package);
3) protected;
4) public.
Теперь подробнее:
1) Модификатор private.
Самый ограничивающий и наиболее часто используемый модификатор доступа private делает атрибут или метод доступным только в пределах одного и того же класса. Подклассы или любые другие классы не могут получить доступ к этому атрибуту или методу. Используем его только для атрибутов и методов, которые мы больше никогда не захотим вызвать.
2) Модификатор no modifier (package).
Отсутствие модификатора означает, что вы можете получить доступ к атрибутам и методам внутри вашего класса и из всех классов в одном пакете. Вот почему его часто называют пакетным.
3) Модификатор protected.
Атрибуты и методы с модификатором доступа protected могут быть доступны внутри вашего класса, всеми классами в одном пакете, а также всеми наследниками в любых пакетах. Этот модификатор, как правило, используется для внутренних методов, которые должны вызываться или переопределяться классами наследниками.
4) Модификатор public.
Доступ к методам и атрибутам, использующим модификатор public, можно получить как в текущем классе, так и во всех других классах.
✅ JavaStart. Подписаться
Скрытие информации в Java. Модификаторы доступа.
Как мы уже рассмотрели ранее, мы используем концепцию инкапсуляции для реализации механизма сокрытия информации.
Этот подход, как и абстракция, один из наиболее часто используемых механизмов в Java. Механизм сокрытия делает атрибуты класса недоступными извне и защищенными от нежелательных/случайных действий.
Говоря об этой концепции, не лишним будет разобрать инструменты для обозначения доступности элементов – модификаторы доступа. Java поддерживает четыре модификатора доступа, используемые для определения видимости классов, методов и атрибутов. Каждый из них указывает уровень доступности, и мы можем использовать только один для каждого класса, метода или атрибута.
Перечислим их, начиная с наиболее ограничивающих:
1) private;
2) no modifier (package);
3) protected;
4) public.
Теперь подробнее:
1) Модификатор private.
Самый ограничивающий и наиболее часто используемый модификатор доступа private делает атрибут или метод доступным только в пределах одного и того же класса. Подклассы или любые другие классы не могут получить доступ к этому атрибуту или методу. Используем его только для атрибутов и методов, которые мы больше никогда не захотим вызвать.
2) Модификатор no modifier (package).
Отсутствие модификатора означает, что вы можете получить доступ к атрибутам и методам внутри вашего класса и из всех классов в одном пакете. Вот почему его часто называют пакетным.
3) Модификатор protected.
Атрибуты и методы с модификатором доступа protected могут быть доступны внутри вашего класса, всеми классами в одном пакете, а также всеми наследниками в любых пакетах. Этот модификатор, как правило, используется для внутренних методов, которые должны вызываться или переопределяться классами наследниками.
4) Модификатор public.
Доступ к методам и атрибутам, использующим модификатор public, можно получить как в текущем классе, так и во всех других классах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3✍1
ООП, Инкапсуляция в Java простыми словами. Часть 3.
Выводы.
Инкапсуляция описывает объединение данных и методов, работающих с этими данными, в один модуль и используется для реализации механизма сокрытия информации. Это концепция ООП помогает нам защитить пользовательскую информацию от ошибочных действий, тем самым повышая эффективность дальнейшей работы с кодом.
Преимущества инкапсуляции.
1) Поля класса можно сделать только для чтения или только для записи;
2) Класс может иметь полный контроль над тем, что хранится в его полях.
✅ JavaStart. Подписаться
Выводы.
Инкапсуляция описывает объединение данных и методов, работающих с этими данными, в один модуль и используется для реализации механизма сокрытия информации. Это концепция ООП помогает нам защитить пользовательскую информацию от ошибочных действий, тем самым повышая эффективность дальнейшей работы с кодом.
Преимущества инкапсуляции.
1) Поля класса можно сделать только для чтения или только для записи;
2) Класс может иметь полный контроль над тем, что хранится в его полях.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍3👍3🤓2
Какое поле файла pom.xml Maven управляет версией зависимостей без прямого указания её во всех dependency?
Anonymous Quiz
7%
<modules>
31%
<properties>
7%
<build>
42%
<dependencyManagement>
13%
Посмотреть ответ
👍3✍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3👍2