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();
}