Java предоставляет множество мощных инструментов для работы с коллекциями. Одним из них является
Collectors.partitioningBy
, который позволяет разделить элементы потока на две группы на основе заданного предиката.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤1
Коллекции также используются для сортировки, поиска и перебора объектов, что упрощает жизнь программиста. Он предоставляет несколько базовых интерфейсов, таких как List, Set, Map и т. д., а также множество реализаций.
Традиционный способ создания коллекций и карт может показаться многим разработчикам многословным.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Чтобы проверить, к какому классу относится объект, используют оператор instanceof. Если нужно проверить объект и привести его к нужному виду, раньше объявляли переменную, присваивали ей тип, а затем проверяли объект:
Object string = "this is string!";
if(string instanceof String){
String realString = (String) string;
System.out.println(realString);
}
if(string instanceof String realString){
System.out.println(realString);
}
instanceof
не ограничивается фигурными скобками внутри условия if
, а проверяет код дальше:Object object = 23;
if (!(object instanceof Number number)) {
throw new IllegalArgumentException("this is not a Number!");
}
System.out.prin
!(object instanceof Number number)
выдаёт результат false
, и после выхода из if
мы можем использовать number
для реализации своей логики.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Использование Optional позволяет более безопасно работать с потенциально null значениями в Java.
NullPointerException
, и делает код более читаемым и надежным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
LocalDate и DateTimeFormatter предоставляют удобные и безопасные методы для работы с датами в Java.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥1
Использование
Collectors.groupingBy
в Java Streams позволяет легко и эффективно группировать данные, улучшая читаемость и производительность кода.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Метод
computeIfAbsent()
представляет собой мощный инструмент для ленивой инициализации значений в Map в Java. Он улучшает читаемость и эффективность кода, позволяя избежать лишних проверок и упрощая добавление значений в коллекцию.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Импорт пакетов и классов: Импортируем необходимые классы для работы с JDBC.
Настройка подключения: Задаем URL, имя пользователя и пароль для подключения к базе данных MySQL. Замените их соответствующими значениями для вашей базы данных.
Подключение к базе данных: В блоке try создаем соединение с базой данных, используя метод DriverManager.getConnection(url, username, password). Здесь используется try-with-resources, что автоматически закрывает соединение после завершения блока try.
Обработка исключений: В блоке catch обрабатываем возможные исключения, которые могут возникнуть при подключении к базе данных.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Этот код демонстрирует, как объединить два списка
list1
и list2
в Java, создав новый список mergedList
, который содержит все элементы из обоих исходных списков. В результате выполнения кода будет напечатан объединенный список.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Логирование — это важный аспект разработки приложений, который помогает отслеживать выполнение программы и диагностировать проблемы.
java.util.logging.Logger
, который предоставляет гибкие возможности для логирования сообщений разного уровня.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Эта программа не только компилируется, но и на самом деле кидает
SQLException
. Вам даже не нужен SneakyThrows из Lombok'а.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔3
Теперь более трудное задание. Не читайте решение. Посмотрите сможете ли вы найти
ответ самостоятельно. Когда я запущу следующую программу:
for (int i = 0; i < 10; i++) {
System.out.println((Integer) i);
}
Иногда я получаю следующий вывод:
92
221
45
48
236
183
39
193
33
84
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔5
Вложенный (
nested
) в интерфейс класс является открытым (public
) и статическим (static
) даже без явного указания этих модификаторов. Помещая класс внутрь интерфейса, мы показываем, что он является неотъемлемой частью API этого интерфейса и более нигде не используется.Colorable.Color color = new Colorable.Color(0, 0, 0);
color = new Triangle.Color(255, 255, 255);
Map.Entry<K, V>
, содержащий пары ключ-значение ассоциативного словаря.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13