网站建设资讯

NEWS

网站建设资讯

Lambda怎么在Java中项目中运用

本篇文章为大家展示了Lambda怎么在Java中项目中运用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

婺城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

组织参数

组织参数目的就是为了第三方接口的调用,而且都要符合第三方 API 的要求。拿微信支付 APP  支付接口来举个例子,它的请求报文大致是这样的:

Lambda怎么在Java中项目中运用

微信支付APP支付请求报文

如果我们记我们封装后调用的入参为INPUT,将INPUT按照上述接口进行组织满足微信 APP  支付接口的参数为OUTPUT。那么它们的转换关系其实就是下面的一个Lambda抽象:

INPUT -> OUTPUT

数学上为:

Lambda怎么在Java中项目中运用

对应Java中的Lambda函数是Function

但是在实际开发中需要根据接口的具体情况做不同的处理,需要引入包含请求方法(上图中的POST)和接口端点,记作TYPE,高中我们讲过函数替代法,我觉得这里可以用一用:

如果我们令 :

Lambda怎么在Java中项目中运用

很容易推导出:

(TYPE,INPUT) -> OUTPUT

对应Java中的Lambda函数是BiFunction

调用第三方接口

在Java开发中,无论你选择的请求方式是Spring  Framework提供的RestTemplate或者反应式客户端WebClient,或者OKHttp都可以很方便地调用 Http  接口。也可以抽象,不管你用什么方法都是提供了一个调用工具,我们要拿工具来用就要get,因此非常适合Java中的

@FunctionalInterface public interface Supplier {      /**      * Gets a result.      *      * @return a result      */     T get(); }

Lambda式子为:

() -> T

不过目前Payment Spring Boot对于调用层还没有抽象的打算,如果考虑到抽象一定会用Supplier去实现。

消费结果

最终我们都需要对调用获取的结果进行消费,宏观上只能消费一次。对应的Lambda式子:

(T) -> {}

对T进行消费是没有返回值的。就像吃一个苹果,吃完之后是不会立即有产物的,否则你要赶紧吃点 ?。

Java中提供了Consumer接口来作为消费的Lambda接口,非常容易理解。

但是在Payment Spring  Boot中对请求结果是需要返回给调用端的,也就是需要返回值的,当时我考虑了很久,在Function和Consumer之间,最终还是选择了Consumer,或许就是它更接近消费的本质。

上述内容就是Lambda怎么在Java中项目中运用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前题目:Lambda怎么在Java中项目中运用
文章网址:http://cdweb.net/article/ihpsje.html