欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java函数式编程

程序员文章站 2022-06-07 12:11:46
...

首先我们需要了解函数式接口,函数式接口就是只有一个抽象方法的接口,在Java中,接口中的方法都隐式添加了public abstract关键字,所以所有方法都是抽象的,我们可以使用@FunctionalInterface注解来规范函数式接口的定义,如果你在接口中再添加一个方法,那么编译器会报错,这就是@FunctionalInterface的作用。

@FunctionalInterface
public interface FunctionalInterfaceT {
    void test();

}

有了函数式接口,就需要实现,我们通常使用的实现是Lambda表达式,下面举个实例:

// 声明函数式入参方法
public static <T> T exc(Callable<T> callable) {
        return exc(callable, defaultHanlder);
}

public List<City> getAllCities() {
    // 调用函数式参数方法
    RestResponse<List<City>> resp = Rests.exc(() -> {
        String url = Rests.toUrl(houseServiceName, "/house/allCities");
        ResponseEntity<RestResponse<List<City>>> responseEntity = rest.get(url, new ParameterizedTypeReference<RestResponse<List<City>>>() {
        });
        return responseEntity.getBody();
    });
    return resp.getResult();
}