— В этом посте мы рассмотрели три основные операции с потоками: фильтрацию с filter, преобразование с map и агрегацию с reduce
- Фильтрация коллекции
- Преобразование элементов
- Суммирование с помощью reduce
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝10🔥9👍8
Сегодня разберем распространенную ошибку в Java — использование оператора == для сравнения строк. На первый взгляд код может казаться рабочим, но на практике это приводит к неожиданным результатам.
Сравнение строк через ==
Оператор
==
проверяет, указывают ли обе переменные на один и тот же объект, а не на равенство их содержимого. String str1 = "hello";
String str2 = new String("hello");
System.out.println(str1 == str2); // false
System.out.println(str1.equals(str2)); // true
Результат:
str1 == str2
возвращает false
, хотя содержимое строк одинаковое. Решение: Используйте .equals()
Метод
.equals()
сравнивает строки по содержимому: System.out.println(str1.equals(str2)); // true
Сравнение с null
Использование
.equals()
без проверки на null
может привести к NullPointerException
. String str1 = null;
String str2 = "hello";
System.out.println(str1.equals(str2)); // Exception!
Используйте Objects.equals()
Метод
Objects.equals()
предотвращает ошибку, автоматически обрабатывая null
: import java.util.Objects;
System.out.println(Objects.equals(str1, str2)); // false
Оператор
==
подходит только для сравнения ссылок, а для содержимого строк используйте .equals()
или Objects.equals()
. Такой подход сделает ваш код безопасным и избавит от непредсказуемого поведения.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
JavaTpoint — подробный учебник по Java, охватывающий как базовые, так и продвинутые темы, с примерами и практическими упражнениями.
📌 Ссылочка: javatpoint.com
👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🤝1
Эти методы помогут вам эффективно управлять многопоточностью, контролировать выполнение потоков, их состояния и взаимодействие между ними.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Нашел недавно интересную платформу Dev Java
Эта платформа собрала множество различных теоретических знаний - базовые концепции, настройки окружения, анимация и другое
⛓ Ссылочка: dev.java
📣 Java Ready | #ресурс
Эта платформа собрала множество различных теоретических знаний - базовые концепции, настройки окружения, анимация и другое
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
📖 Java. Эффективное программирование
⬇️ Скачать книгу
👉 Java Ready | #книга
Книга написана в доступном и понятном стиле, что делает ее полезной как для начинающих программистов, так и для опытных разработчиков, стремящихся улучшить свои навыки
Автор: Джошуа Блох
Год: 2002
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
В этом посте мы рассмотрели, как использовать Optional для безопасной работы с возможными null значениями в Java. Вы узнаете про:
- Создание и использование
- Возвращение значения по умолчанию
- Использование фильтрации
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Недавно увидел интересный сайт и сразу делюсь с вами — Interview Bit
На данной платформе вы можете хорошо освоить многие навыки программирования, здесь есть задания, онлайн IDE, а также много бесплатных курсов
📌 Ссылочка: interviewbit.com
📣 Java Ready | #ресурс
На данной платформе вы можете хорошо освоить многие навыки программирования, здесь есть задания, онлайн IDE, а также много бесплатных курсов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3🤝3
👍7🔥5🤝1
Летс го, поговорим сегодня про изменение коллекций во время итерации
Одной из распространенных ошибок в Java является попытка изменить коллекцию во время ее обхода, что приводит к исключению ConcurrentModificationException.
Разберемся, как избежать этой ошибки:
Почему это ошибка? Изменение коллекции во время обхода с использованием расширенного цикла
Чтобы избежать ошибки, используйте
🔥 Чтобы избежать ошибки ConcurrentModificationException, всегда используйте Iterator для безопасного изменения коллекций во время их обхода. Вот и всё)
📣 Java Ready | #практика
Одной из распространенных ошибок в Java является попытка изменить коллекцию во время ее обхода, что приводит к исключению ConcurrentModificationException.
Разберемся, как избежать этой ошибки:
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
for (Integer number : list) {
if (number == 2) {
list.remove(number); // Ошибка!
}
}
Почему это ошибка? Изменение коллекции во время обхода с использованием расширенного цикла
for
нарушает внутреннюю структуру коллекции.Чтобы избежать ошибки, используйте
Iterator
для изменения коллекции во время итерации. Он позволит безопасно удалять элементы без нарушения внутренней структуры коллекции:List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
if (iterator.next() == 2) {
iterator.remove(); // Правильный способ
}
}
🔥 Чтобы избежать ошибки ConcurrentModificationException, всегда используйте Iterator для безопасного изменения коллекций во время их обхода. Вот и всё)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3