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

爱是做的电影网站媒体公关是做什么的

爱是做的电影网站,媒体公关是做什么的,广州网站制,利用阿里云虚拟主机做网站目录 一、简介 二、引用静态方法 1.格式 2.示例 ​编辑 3.条件解析 三、引用成员方法 1.格式 2.示例 四、引用构造方法 1.格式 2.示例 五、类名引用成员方法 1.格式 2.略微不同的方法引用规则 3.示例 六、引用数组的构造方法 1.格式 2.示例 一、简介 方…

目录

一、简介

二、引用静态方法 

1.格式 

 2.示例

​编辑

3.条件解析 

 三、引用成员方法

1.格式 

2.示例 

四、引用构造方法 

1.格式 

2.示例

五、类名引用成员方法

1.格式

2.略微不同的方法引用规则

 3.示例

六、引用数组的构造方法 

1.格式

2.示例


一、简介

方法引用就是,把已有的方法拿过来,当作函数式中抽象方法的方法体。

为什么要使用方法引用? 

在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作

那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑呢?答案肯定是没有必要

那我们又是如何使用已经存在的方案的呢?

这就是方法引用的用处了,我们通过方法引用来使用已经存在的方案。

下面示例更能明白方法引用的好处: 

上面示例 ,使用匿名内部类和lambda表达式的方法必须重新实现方法,但是方法引用可以用类实现好的方法拿来使用。

但是这些方法能被拿来方法引用是有条件的(适用二、三、四、六):

1.引用处需要是函数式接口

2.被引用的方法需要已经存在

3.被引用方法的形参和返回值需要跟抽象方法的形参和返回值保持一致

4.被引用方法的功能需要满足当前的要求

刚才的示例代码用到方法引用的地方就是函数式接口的地方,即Arrays类的sort方法的第二个参数comparator,这个参数是一个函数式接口,底层代码如下:

什么是函数式接口?函数式接口就是一个接口,而且这个接口只有一个抽象方法 。

可以被隐式地转换为一个 lambda 表达式或方法引用。这样的接口使得函数式编程在 Java 中成为可能,尤其是在使用 Java 8 引入的流(Stream)和 lambda 表达式时。

在 Java 中,可以通过 @FunctionalInterface 注解来明确标识一个接口为函数式接口。尽管这个注解是可选的,但使用它可以帮助编译器检查该接口是否符合函数式接口的规范。

二、引用静态方法 

1.格式 

类名::方法名

范例:Integer::parseInt

注意   :: 该符号为引用运算符,而它所在的表达式被称为方法引用

 2.示例

将集合里面的字符串转化为数字

3.条件解析 

 下面是Stream接口的抽象方法map,参数是一个Function接口

 Function接口这个参数是函数式接口,底层如下。满足第一个条件,方法引入的地方为函数式接口FunctionalInterface

 下面是Integer类的静态方法parseInt,返回类型和参数值满足方法有内容实现,刚好满足字符串转数字的功能需求。到这里就满足方法引用的后面三个条件。

 三、引用成员方法

1.格式 

对象::成员方法名 

 

注意在静态方法里面比 (如main) 不能用this、super

2.示例 

注意:main方法里面是禁止使用this、super的

四、引用构造方法 

1.格式 

类名::new

范例:Student::new

作用:创建一个对象

2.示例

准备好一个Student类

用引用构造方法的方式将字符串转换出对象

五、类名引用成员方法

1.格式

类名::方法名

范例:String::toUpperCase()

2.略微不同的方法引用规则

前面只有静态方法才能使用类名::方法名,普通方法也要这样用就必须遵守下面的规则。与原规则不同的地方在于形参。

新规则:

 上面的规则说到了抽象方法的第二个形参到最后一个,被引用的方法必须一样。那么抽象方法的第一个参数呢?

抽象方法的第一个参数其实就是我们要用的方法引用的方法所在的类,就是::前面的类名,用官方的话来说就是--被引用方法的调用者。一般是流中的每一个数据的数据类型。

还有一个问题就是,如果抽象方法的第二个参数是空的呢?

抽象方法的第二个参数是空的,表示被引用方法是无参的。

局限性:因为有抽象方法的形参限制,并不是所有的普通方法都能引用。 

 3.示例

需求:将集合中的字符串小写转大写

下面是map的形参即函数式接口,它的抽象方法只有一个参数,所以只能引用无参的方法,流的数据类型是String,所以选用String的无参方法。

下面左边是匿名内部类的写法,右边是String类的无参方法toUpperCase将小写字母转大写,满足功能需求。返回值由被引用的方法决定。

六、引用数组的构造方法 

1.格式

数据类型[ ]::new

范例:int[ ]::new

注意:数组中的数据必须跟流中的数据一样

2.示例

函数式接口的抽象方法 

http://www.dt0577.cn/news/48614.html

相关文章:

  • 购物网站制作流程网站怎么快速被百度收录
  • php网站开发实例教程 传智播客网站收录服务
  • 西安高校网站建设定制网站建设谷歌搜索引擎google
  • 做微信小程序网站南昌网站设计
  • 商业类网站的设计与制作中国十大策划公司排名
  • 网站seo顾问提升seo排名的方法
  • 西安seo优化seo技术培训山东
  • 网站建设实践报告小结国内搜索引擎排名2022
  • 旅游网站建设背景深圳网站建设公司官网
  • 免费的电脑编程软件网站关键词优化应该怎么做
  • 网站开发需要哪些东西百度seo关键词外包
  • 网站如何做404页面快速seo关键词优化方案
  • 知彼网络网站建设如何推广网址链接
  • 西安网站建设 美科动商务软文写作300
  • b2b 网站开发企业官方网站推广
  • 平台网站建设公司一键seo提交收录
  • 陕西做网站的公司关键词挖掘工具网站
  • 微信小程序开发需要什么技术关键词优化是怎样收费的
  • 搭建wordpress网站百度手机seo
  • 金融行业做网站需要什么推广优化seo
  • 江苏住房与城乡建设部网站免费域名申请网站大全
  • 网贷之家网站建设hao123网址导航
  • 网站被挂黑链怎么处理中国联通腾讯
  • 成都商城网站制作nba新闻最新消息
  • 做了静态网站怎么显示在互联网上网站怎么优化关键词
  • html网站开发语言网站查询ip
  • 常州企业网站建设价格百度竞价广告怎么投放
  • 如何在网站源码做授权北京seo执行
  • 如何开发网站seo网站关键词优化
  • c2c电子商务网站需具备哪些业务功能简述在线推广网站的方法