java懒惰评估如何实现

美女程序员鼓励师

说明

1、惰性评估是将表达式的评估延迟到需要时才进行的过程。Java是严格的立即赋值评估。

2、可以使用lambda表达式和高阶函数将其重写为延迟评估的版本。

实例

public class LazySample {

    public static void main(String[] args) {

        //这是一个lambda表达式,表现为闭包

        UnaryOperator<Integer> add = t -> {

            System.out.println("executing add");

            return t + t;

        };

      //这是一个lambda表达式,表现为闭包

        UnaryOperator<Integer> multiply = t -> {

            System.out.println("executing multiply");

            return t * t;

        };

        //传递Lambda闭包而不是普通函数

        System.out.println(addOrMultiply(true, add, multiply, 4));

        System.out.println(addOrMultiply(false, add, multiply, 4));

    }

 

    //这是一个高阶函数

    static <T, R> R addOrMultiply(

            boolean add, Function<T, R> onAdd,

            Function<T, R> onMultiply, T t

    ) {

        // Java的?会懒惰计算表达式,因此仅执行所需的方法

        return (add ? onAdd.apply(t) : onMultiply.apply(t));

    }

}

以上就是java懒惰评估的实现,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 java懒惰评估如何实现 的全部内容, 来源链接: utcz.com/z/544790.html

回到顶部