脚本宝典收集整理的这篇文章主要介绍了【Java 8实战】第1篇:行为参数化,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是行为参数化
帮助你应对频繁变更的需求。简言之,把一段准备好的逻辑代码放在那里不执行,但可以将这块代码作为参数传递给另外一个方法,稍后执行。
场景应用举例
某农场仓库里有很多苹果,现在要对苹果的不同属性做筛选,比如重量、颜色等;
定义标准接口
1.该接口是对苹果的各种属性的抽象
public interface ApplePredicate { boolean attribute(Apple apple); }
重量筛选苹果
public class AppleHeavyWeightPredicate implements ApplePredicate { @override public boolean attribute(Apple apple) { return apple.getWeight() > 150; } }
颜色筛选苹果
public class AppleRedColorPredicate implements ApplePredicate { @Override public boolean attribute(Apple apple) { return "red".equals(apple.getColor()); } }
筛选苹果方法封装
public class FilterApple { public static List<Apple> filterApple(List<Apple> appleList, ApplePredicate p) { List<Apple> result = new ArrayList<>(); for (Apple apple : appleList) { if (p.attribute(apple)) { result.add(apple); } } return result; } }
总结一下行为参数化
通过代码可以看出行为参数可以理解为:让方法接受多种行为,并在该方法内部使用,来完成不同的行为。上面的例子就是让filterApple
方法接受了ApplePredicate
的不同行为,既是 AppleRedColorPredicate
和AppleHeavyWeightPredicate
;
以上是脚本宝典为你收集整理的【Java 8实战】第1篇:行为参数化全部内容,希望文章能够帮你解决【Java 8实战】第1篇:行为参数化所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。