Назад к вопросам
СБЕР Тех
Junior — Middle
61
Как получить значение из ленивого (Lazy) объекта в вашем приложении?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java ленивый (Lazy) объект обычно реализуется через отложенную инициализацию, например, с помощью класса Lazy<T> или паттерна ленивой загрузки.
Чтобы получить значение из ленивого объекта, нужно вызвать метод, который инициализирует и возвращает значение при первом обращении. Например, если используется Supplier<T> или Optional<T>, можно вызвать get().
Пример с использованием Supplier для ленивой инициализации:
import java.util.function.Supplier;
public class LazyExample {
private Supplier<String> lazyValue = this::initialize;
private String initialize() {
String value = "Вычисленное значение";
lazyValue = () -> value; // Кэшируем результат
return value;
}
public String getValue() {
return lazyValue.get();
}
public static void main(String[] args) {
LazyExample example = new LazyExample();
System.out.println(example.getValue()); // Получаем значение
}
}
Таким образом, вызов getValue() возвращает значение, инициализируя его при первом обращении.