В Java ленивая оценка часто выполняется с помощью абстракций объекта.Для сравнения, оценка кода передается свободно в функциональных языках, что делает лень первоклассной функцией.
В Java, если мы хотим, чтобы значение обновлялось лениво, мы оборачиваем его доступ в метод, гдеуправлять сложностью оценки в этом методе.Некоторые из этих конструкций называются bean-компонентами: http://commons.apache.org/beanutils/api/org/apache/commons/beanutils/package-summary.html.
Часто требуется создать структуру данных, в которой все значения лениво получаются, например, список, в котором каждый элемент лениво оценивается, или карту, гдекаждое значение лениво оценивается.Чтобы сделать это, мы можем создать подкласс и переопределить get (), put () и другие применимые методы из соответствующих классов Java Collection.См. jash cache hashmap expire daily для примера этой стратегии.