当前位置: 首页 > news >正文

江西网站设计哪家靠谱/seo刷关键词排名软件

江西网站设计哪家靠谱,seo刷关键词排名软件,南阳网站排名优化,单页导航html5源码文章目录前言一、Function是什么?二、Function 怎么用?1.简单使用2.真正的强大之处总结前言 在java8之后,我已经习惯了开始用stream()方式编程,但是对于新引入的其他功能,还是不清楚,今天经历了一个编程问题后,让我对于Function() 这个函数有了新的认知; 一、Func…

文章目录

  • 前言
  • 一、Function是什么?
  • 二、Function 怎么用?
    • 1.简单使用
    • 2.真正的强大之处
  • 总结


前言

在java8之后,我已经习惯了开始用stream()方式编程,但是对于新引入的其他功能,还是不清楚,今天经历了一个编程问题后,让我对于Function() 这个函数有了新的认知;


一、Function是什么?

Function源码
从图中可以看到,Function是一个接口,而且仅仅有一个抽象方法,所以称之为函数式接口,在java8之后,所有的函数式接口都可以使用lambda 表达式去调用;
简单解读下:

  • Function是一个接口,所以我们使用的时候也就是实现这个接口
  • 可以看到apply这个抽象方法,入参是T 出参是R
  • 所以也就是实现这个apply方法,可以理解这个方法为类型的转换
  • Function函数有三个主要的方法:apply、compose、andThen
    apply:该方法意义是执行当前函数的方法体。
    compose(before):先执行before函数方法体,使用其返回参数,再执行调用者函数的方法体。
    andThen(after):先执行调用者方法,将其返回值作为参数调用after函数方法体。

二、Function 怎么用?

1.简单使用

Function<Integer,Integer> multi= (a) -> a * 100 ;
Function<Integer,Integer> add = (a) -> a.intValue() + 10;
// 执行multi函数的方法体 1*100=100
System.out.println(multi.apply(1));
// 先执行add函数方法体 1+ 10 ,然后将其返回值11作为参数执行mutli的方法体,返回1100
System.out.println(multi.compose(add).apply(1));
// 先执行multi函数方法体 1*100,然后将其返回值100作为参数执行add的方法体,返回100
System.out.println(multi.andThen(add).apply(1));

是的,没错,就很离谱 Function<Integer,Integer> multi= (a) -> a * 100 ; 这就是在定义这个function的具体执行内容,而真正调用这个function的是apply;

2.真正的强大之处

  • 今天遇到了一个问题,就是需要在一个类中,需要调用jdbc 的 接口去作查询(userService)
    不知道小伙伴的平时开发中是否遇到此类场景,那么我相信在没有function出现的时候,我们一般是这样处理的

第一种: 提前查询好所有数据,然后传入进去,循环比对找出想要的数据,然后处理
第二种: 将jdbc的接口传入,然后通过jvm加载到这个类,然后再调用这个类中的方法

那么,当我们有了function可以如何使用呢???

我现在有一个工具类


public class BeanFrom{// 第一个属性 定义一个函数 作用是想通过id 找到数据库中的用户信息private final Function<String, User> userFunction;// 第二个属性 课程信息(终点是包含用户id)private final Course course;public getUser(){// 这是调用处,相当于通过用户id从数据库中获取到了用户信息User user = userFunction.apply(course.getUserId());}public SqlFrom(Course course,Function<String, User> userFunction) {this.course= course;this.userFunction= userFunction;}
}

那么如何使用这个工具类呢?

@Autowired
UserService userService;BeanFrom beanFrom = new BeanFrom (course,id-> userService.queryById(id));

那么经过此番操作,实现了什么,优势是什么?

  • 我实现了在普通的java类中,执行service的诉求
  • 我没有将service传入到工具类中,完美实现了解耦

总结

此次通过解决项目中的实际问题,记录下,对于function函数的使用有了更进一步的了解,也希望能读到此文章的小伙伴能收益,文章很浅显,希望大佬不吝赐教

http://www.bjxfkj.com.cn/article/122.html

相关文章:

  • 个人 可以做社交网站/网站优化推广招聘
  • 网站设计作品/标题关键词优化报价
  • 河南科技园网站建设/站长平台网站
  • wordpress邮箱汉化插件下载/搜索引擎优化培训免费咨询
  • 西安网站维护/公众号软文怎么写
  • 东莞长安网站设计公司/腾讯广告联盟
  • 六安网站怎么做seo/软文发布系统
  • Django 个人博客网站开发/网络营销与策划试题及答案
  • 小说网站有源码了该怎么做/网络站点推广的方法有哪些
  • 集安网站建设/真正免费的网站建站平台推荐
  • 南昌网站建设大全/广州网站营销seo费用
  • 国家粮食局和储备局建设网站/徐州seo建站
  • 做外贸需要关注的网站有什么问题/seo赚钱
  • 网站一级域名申请/什么网站可以免费推广
  • 网页设计网站测试/杭州产品推广服务公司
  • 哪里做外贸网站/国内搜索引擎有哪些
  • 武汉高端品牌网站建设/推广项目网站
  • 学校网站定位/郑州网络营销顾问
  • 可以做硬件外包项目的网站/在线网站建设平台
  • 有赞可以做独立网站吗/推广平台排行榜app
  • 高端网站设计企业网站建设/第三方网站流量统计
  • 山西省建设资格注册中心网站/网页模板怎么用
  • 论坛模板建站/做网站关键词优化的公司
  • 婚庆网站哪个靠谱/站长统计是什么意思
  • 莱芜征婚吧/seo流量的提升的软件
  • 百度 手机网站 收录/网站收录查询代码
  • 深圳找工作58同城最新招聘/seo和sem哪个工资高
  • 游戏网站建设一条龙/枣庄网站建设制作
  • 怎么做交易网站/产品推广的目的和意义
  • 临清网站制作/国内搜索引擎网站