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

学设计在哪学杭州seo网站推广排名

学设计在哪学,杭州seo网站推广排名,oa做软件还是网站,化工建设网站文章目录 一、方法引用1.1、方法引用的理解1.2、格式1.3、举例 二、构造器引用2.1、格式2.2、例子2.3、数组引用 一、方法引用 1.1、方法引用的理解 方法引用,可以看做是基于lambda表达式的进一步刻画当需要提供一个函数式接口的实例时,可以使用lambda…

文章目录

  • 一、方法引用
    • 1.1、方法引用的理解
    • 1.2、格式
    • 1.3、举例
  • 二、构造器引用
    • 2.1、格式
    • 2.2、例子
    • 2.3、数组引用

一、方法引用

1.1、方法引用的理解

  • 方法引用,可以看做是基于lambda表达式的进一步刻画
  • 当需要提供一个函数式接口的实例时,可以使用lambda表达式提供此实例
  • 当满足一定条件时,还可以使用方法引用或构造器引用替换lambda表达式

1.2、格式

总体理解:类(对象)::方法名

  • 对象 :: 实例方法名
  • 类 :: 静态方法名
  • 类 :: 实例方法名

1.3、举例

前提:Lambda体只有一句语句,并且是通过调用一个对象/类现有的方法来完成的

  • 对象 :: 实例方法名
	@Testpublic void test1() {// 1.匿名实现类Consumer<String> con1 = new Consumer<String>(){@overridepublic void accept(String s){System.out.pringln(s);}}// 2.lambda表达式Consumer<String> con1 = s -> System.out.println(s);// 3.方法引用Consumer<String> con2 = System.out::println;}

1、accept()方法的形参、返回值和println()方法的一样,所以可用方法引用代替lambda表达式
2、函数式接口中的抽象方法a在被重写时使用了某一个对象的实例方法b。如果方法a的形参列表、返回值类型与实例方法b的形参列表、返回值类型都相同(满足多态场景也可以),则我们可以使用方法b实现对方法a的重写、替换。

  • 类 :: 静态方法名
	@Testpublic void test3() {// 1.匿名实现类Comparator<Integer> com1 = new Comparator<Integer>(){@overridepublic int compare(Integer o1,Integer o2){return Integer.compare(o1,o2);}}// 2.lambda表达式Comparator<Integer> com1 = (t1,t2) -> Integer.compare(t1,t2);// 3.方法引用Comparator<Integer> com2 = Integer::compare;}

函数式接口中的抽象方法a在被重写时使用了某一个类的静态方法b。如果方法a的形参列表、返回值类型与方法b的形参列表、返回值类型都相同(满足多态场景也可以),则可以使用方法b实现对方法a的重写、替换。

  • 类 :: 实例方法名
	@Testpublic void test5() {// 1.匿名实现类Comparator<String> com1 = new Comparator<String>(){@overridepublic int compare(String o1,String o2){retrun o1.compareTo(o2);}}// 2.lambda表达式Comparator<String> com1 = (s1,s2) -> s1.compareTo(s2);// 3. 方法引用Comparator<String> com2 = String :: compareTo;}

函数式接口中的抽象方法a在被重写时使用了某一个对象的方法b。如果方法a的返回值类型与方法b的返回值类型相同(满足多态场景也可以),同时方法a的形参列表中有n个参数,方法b的形参列表有n-1个参数,且方法a的第1个参数作为方法b的调用者,且方法a的后n-1参数与方法b的n-1参数匹配(类型相同或满足多态场景也可以)

二、构造器引用

2.1、格式

类名::new
  • 调用类名对应的类中的某一个确定的构造器
  • 具体调用的是哪一个构造器?取决于函数式接口的抽象方法的形参列表

2.2、例子

	@Testpublic void test1(){// 1.匿名实现类Supplier<Employee> sup = new Supplier<Employee>() {@Overridepublic Employee get() {return new Employee();}};// 2.lambda表达式Supplier<Employee>  sup1 = () -> new Employee();// 3.构造器引用, 调用的是Employee类中的空参构造器Supplier<Employee>  sup2 = Employee :: new;}
	@Testpublic void test2(){// 1.lambda表达式Function<Integer,Employee> func1 = id -> new Employee(id);// 2.构造器引用,调用的是Employee类中的Employee(int id)这个构造器Function<Integer,Employee> func2 = Employee :: new;}

2.3、数组引用

  • 格式:数组类型名::new
  • 例子
@Test
public void test(){// 1.匿名实现类Function<Integer,String[]> func1 = new Function<Integer,String[]>{@overridepublic String[] apply(Integer length){return new String[length];}}// 2.lambda表达式Function<Integer,String[]> func1 = length -> new String[length];String[] arr1 = func1.apply(5);// 3.数组引用Function<Integer,String[]> func2 = String[] :: new;String[] arr2 = func2.apply(10);
}
http://www.dt0577.cn/news/37498.html

相关文章:

  • 网站给篡改了要怎么做安装百度
  • 青岛网站开发中心北京seo平台
  • 中国黄页电话号码查询天津关键词优化平台
  • 中企做的网站太原百度网盘网页版登录入口
  • 无锡新吴区建设局网站关键词竞价排名是什么意思
  • html5旅游网站源码教育机构
  • wordpress中文站点网络营销价格策略有哪些
  • 保定哪做网站好seo网站优化快速排名软件
  • 做交易网站需要办什么证线下推广宣传方式有哪些
  • 如何推广自己的店铺?seo在线网站推广
  • 广州做外贸网站的公司广东近期新闻
  • 网站建设行业赚钱么大连做优化网站哪家好
  • 网站建设 工作方案识图搜索在线 照片识别
  • 那些语言可以建网站网络营销做得好的品牌
  • 东台网页定制长沙seo咨询
  • 莱芜二手房seo外包如何
  • 网站设计的设计方案太原seo排名优化公司
  • 网站运营做网页设计网站收录查询
  • 滨海新网站建设seo怎么发外链的
  • 深圳专业做网站排名多少钱微信营销平台
  • 长寿网站建设公司微商怎么引流被加精准粉
  • 做金融服务网站赚钱免费手游推广代理平台渠道
  • 嘿客免费网站建设如何快速搭建网站
  • 有没有做京东客好的网站推荐搜索引擎推广法
  • 云南做网站找谁成都最好的seo外包
  • 简述商务网站建设步骤seo中心
  • 漳州网站建设优化谷歌商店下载官网
  • c在线编程网站百度公司官网
  • 小程序和h5的区别和优势智能网站推广优化
  • java 网站开发需要多久seo优