Java 8 Function函数式接口

Java 8 Function函数式接口

函数式接口

函数式接口(Functional Interface)是Java 8对一类特殊类型的接口的称呼。 这类接口只定义了唯一的抽象方法的接口,
并且这类接口使用了@FunctionalInterface进行注解。在jdk8中,引入了一个新的包java.util.function, 
可以使java 8 的函数式编程变得更加简便。这个package中的接口大致分为了以下四类:
Function: 接收参数,并返回结果,主要方法 R apply(T t)
Consumer: 接收参数,无返回结果, 主要方法为 void accept(T t)
Supplier: 不接收参数,但返回结构,主要方法为 T get()
Predicate: 接收参数,返回boolean值,主要方法为 boolean test(T t)

Function用法

public class Test {

    public static String getCode(long value, String key, Function<Long, String> func) {
        System.out.println("执行方法前");
        String maxCode = func.apply(value);
        System.out.println("执行方法后:" + maxCode);
        return String.valueOf("结束");
    }

    public static String msg(long value, long value2) {
        System.out.println("执行方法" + "value = " + value + ", value2 = " + value2);
        return String.valueOf(value + value2);
    }

    public static void main(String[] args) {
        getCode(1L, "keys", orgId -> msg(1, orgId));
    }
}

扩招用法

  @Service
public classTestService {

    @Autowired
    private Test1Service test1lService;

    public void functionTest() {
        Test.getCode(1, "test", value -> test1lService.msg(1, value));
    }
}


版权声明:本文为hxf009原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。