减少的 if else 嵌套 可以使用java 8的Consumer

private static Map<String, Consumer<ProductVO>> maps = new HashMap<String, Consumer<ProductVO>>();

static {
    //这里用到landa表达式,新特性。 其中 Cat,Dog 可以看成 if-else 中的条件
    maps.put("type1", productVO -> test1(productVO));
    maps.put("type2", productVO -> test2(productVO));
}

public static void main(String[] args) {
    Consumer<ProductVO> cat = maps.get("Cat");
    ProductVO productVO = new ProductVO();
    productVO.setBrandName("sasdfs");
    cat.accept(productVO);
}

private static Boolean test1(ProductVO productVO) {
    System.out.println("RunCase2" + productVO.getBrandName());
    return true;
}

private static Boolean test2(ProductVO productVO) {
    System.out.println("RunCase1" + productVO.getBrandName());
    return false;
}
    原文作者:exception
    原文地址: https://segmentfault.com/a/1190000017504028
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞