Пояснение
Статические методы не наследуются и не переопределяются. Вызов p.print() обращается к статическому методу класса Parent, так как переменная p имеет тип Parent. Метод Child.print() не вызывается.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
👍5
Метод
Stream.flatMapToInt() используется для преобразования элементов потока в другой поток примитивов int. Это удобно для обработки вложенных структур данных и работы с примитивами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10
Что такое
Optional.empty(), и как оно помогает избежать null в Java?Ответ
Пример использования
import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<String> optional = Optional.empty();
// Проверка наличия значения
System.out.println(optional.orElse("Значение отсутствует")); // Значение отсутствует
// Работа с методом ifPresent
optional.ifPresent(value -> System.out.println("Значение: " + value));
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1🎄1
Друзья, на связи ваш админ.
Я тут сделал бота для знакомств @tinder. Буду рад, если вы оцените и воспользуетесь. Если буду какие-то замечания, пишите, буду благодарен)
Я тут сделал бота для знакомств @tinder. Буду рад, если вы оцените и воспользуетесь. Если буду какие-то замечания, пишите, буду благодарен)
🔥3🎄1
Как работают
immutable коллекции в Java, и когда их стоит использовать?Ответ
Пример использования
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> immutableList = List.of("A", "B", "C");
System.out.println(immutableList); // [A, B, C]
// Попытка модификации вызовет исключение
// immutableList.add("D"); // UnsupportedOperationException
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1🎄1
Вместо того чтобы использовать явные циклы для поиска элемента в коллекции, Java предоставляет методы для упрощения и оптимизации таких операций, особенно с использованием Stream API.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🤔4🔥2😱1
Метод
Phaser.arriveAndAwaitAdvance() из пакета java.util.concurrent синхронизирует выполнение нескольких потоков, ожидая, пока все участники завершат текущую фазу, прежде чем перейти к следующей. Это полезно для организации этапов выполнения в многопоточных задачах.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Метод
UUID.randomUUID() из пакета java.util генерирует случайный UUID. Это полезно для создания уникальных идентификаторов в приложениях.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Метод
Files.isReadable() из java.nio.file проверяет, доступен ли файл для чтения. Это полезно для предварительной проверки перед открытием файла.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Метод
CompletableFuture.thenCombine() позволяет объединить результаты двух асинхронных задач после их завершения. Это полезно для выполнения зависимых операций без блокирования потоков.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥4🎄1
Пояснение
Метод append добавляет " World" в конец строки, а insert вставляет запятую на позицию 5 (после Hello). Результирующая строка: Hello, World. Код выполняется корректно.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
👍7
Пояснение
При попытке деления на ноль возникает исключение ArithmeticException, которое перехватывается в блоке catch. Блок finally всегда выполняется независимо от того, произошло ли исключение. Поэтому вывод включает обе строки.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Что такое эффективная финализация (Effective Finality) в Java и как она связана с анонимными классами и лямбда-выражениями?
Ответ
Пример использования
import java.util.function.Consumer;
public class Main {
public static void main(String[] args) {
int number = 10;
Consumer<Integer> consumer = value -> {
System.out.println(value + number); // Использование effectively final переменной
};
consumer.accept(5); // Вывод: 15
// number = 20; // Ошибка: переменная number должна быть эффективно финализированной
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1🎄1
Метод
Stream.iterate() используется для создания бесконечного или конечного потока, начиная с начального значения и применяя к нему функцию обновления. Это полезно для генерации последовательностей или потоков данных.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1🎄1
Метод
Instant.now() из пакета java.time возвращает текущее время в UTC с высокой точностью. Это полезно для работы с временными метками в приложениях, где важна точность времени.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤔1
Метод
partitioningBy из класса Collectors используется для разделения элементов потока на две группы, основываясь на предикате. Он возвращает карту с двумя списками: одна группа удовлетворяет предикату, другая — нет.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4
Метод
Collectors.teeing, представленный в Java 12, позволяет объединять результаты двух различных коллекторов в одном Stream. Это делает его полезным для выполнения нескольких операций над потоком данных одновременно.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Пояснение
Когда класс реализует два интерфейса с одинаковыми default методами, требуется явное указание, какой метод вызывать. В данном коде в методе show() вызываются A.super.show () и B.super.show (), поэтому выполняются оба метода. Код компилируется и корректно выводит A's show и B's show.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5