java|java 函数式编程小记

【java|java 函数式编程小记】stream api比较简单
函数式接口的设计 不是很好理解,记一个复杂的情况

@FunctionalInterface public interface ProductSpec { boolean satisfy(Long p); // 此处的p 是satisfy的参数p static ProductSpec color(BigDecimal decimal) { return p -> p.longValue() == decimal.longValue(); }}public void testSatisfy(ProductSpec productSpec) { productSpec.satisfy(111L); }public void test() { BigDecimal bigDecimal = new BigDecimal(12); // 第一种 testSatisfy(new ProductSpec() { @Override public boolean satisfy(Long p) { return p.longValue() == bigDecimal.longValue(); } }); // 第二种 testSatisfy(p -> p.longValue() == bigDecimal.longValue()); // 第三种 testSatisfy(ProductSpec.color(bigDecimal)); }

如上 第三种一开始确实不好理解。。。但是代码却可以高复用,相比较简介

    推荐阅读