В этом посте мы рассмотрели, как использовать 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
В этом посте мы создадим простой секундомер на Java, разбив его на четыре части: структура для хранения данных, метод запуска, метод остановки и метод подсчета времени:
- Создание структуры
- Запуск таймера
- Остановка таймера
- Вывод времени
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5🤝4
Сегодня освежим нашу память и рассмотрим работу с коллекциями в Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4🤝1
👍9🔥2🤝1
Сегодня мы рассмотрим одну из скрытых ловушек Java — автобоксинг и анбоксинг. Эти механизмы удобны, но могут вызывать неожиданные ошибки, влияя на производительность и корректность работы кода:
При сравнении объектов-оберток (например,
Integer
) с использованием оператора ==
вы можете получить неожиданный результатInteger a = 127;
Integer b = 127;
System.out.println(a == b); // true
Integer c = 128;
Integer d = 128;
System.out.println(c == d); // false
Значения от -128 до 127 кешируются JVM для оберток
Integer
. Поэтому ссылки на объекты с такими значениями указывают на один и тот же объект, а вне этого диапазона создаются новые экземпляры. Используйте метод
.equals()
для сравнения значений. System.out.println(c.equals(d)); // true
А при анбоксинге объекта-обертки, содержащего
null
, возникает NullPointerException
Integer value = null;
int result = value; // Ошибка: NullPointerException
Проверяйте объект на null перед анбоксингом:
if (value != null) {
int result = value;
}
🔥 Эти знания помогут вам избежать неожиданных ошибок и сделать код более надежным.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍6🤝1