Penjelasan
1. Lazy evaluation ialah proses menangguhkan penilaian sesuatu ungkapan sehingga diperlukan. Java adalah penilaian tugasan segera.
2. Ia boleh ditulis semula ke dalam versi yang dinilai malas menggunakan ungkapan lambda dan fungsi tertib lebih tinggi.
Instance
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)); } }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penilaian malas dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!