我们学习Java8的lambda的时候一开始都会接触这样子的代码,这样子可以使我们的代码更简洁。
public static void main(String[] args) { // old Calculator
add = new Add(); add.calculate(1, 2); // lambda Calculator
minus = (a, b) -> { return a - b; }; minus.calculate(1, 2); } static class Add implements Calculator
{ @Override public Integer calculate(Integer t1, Integer t2) { return t1 + t2; } }
实现策略模式呢,是创建不同的实现类,封装不同的方法,使得这些实现可以相互替换。这里我们可以通过传进一个函数代替以前的实现类来实现策略模式
public int service(int a, int b) { return this.cal(this::add, a, b); } public int add(int a, int b) { return a + b; } public int minus(int a, int b) { return a - b; } public
T cal(Calculator
cal, T t1, T t2) { T result = cal.calculate(t1, t2); return result; }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228014.html原文链接:https://javaforall.net
