1.构造器引用格式:
类名::new

2.构造器引用使用要求:
和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致。抽象方法的返回值类型即为构造器所属的类的类型

3.构造器引用举例:

//Supplier中的T get()
//Employee的空参构造器:Employee()
@Test
public void test1(){ Supplier<Employee> sup = new Supplier<Employee>() {
@Override
public Employee get() {
return new Employee();
}
};
System.out.println("*******************"); Supplier<Employee> sup1 = () -> new Employee();
System.out.println(sup1.get()); System.out.println("*******************"); Supplier<Employee> sup2 = Employee :: new;
System.out.println(sup2.get());
} //Function中的R apply(T t)
@Test
public void test2(){
Function<Integer,Employee> func1 = id -> new Employee(id);
Employee employee = func1.apply(1001);
System.out.println(employee); System.out.println("*******************"); Function<Integer,Employee> func2 = Employee :: new;
Employee employee1 = func2.apply(1002);
System.out.println(employee1); } //BiFunction中的R apply(T t,U u)
@Test
public void test3(){
BiFunction<Integer,String,Employee> func1 = (id,name) -> new Employee(id,name);
System.out.println(func1.apply(1001,"Tom")); System.out.println("*******************"); BiFunction<Integer,String,Employee> func2 = Employee :: new;
System.out.println(func2.apply(1002,"Tom")); }

4.数组引用格式:
数组类型[] :: new

5.数组引用举例:

//Function中的R apply(T t)
@Test
public void test4(){
Function<Integer,String[]> func1 = length -> new String[length];
String[] arr1 = func1.apply(5);
System.out.println(Arrays.toString(arr1)); System.out.println("*******************"); Function<Integer,String[]> func2 = String[] :: new;
String[] arr2 = func2.apply(10);
System.out.println(Arrays.toString(arr2)); }

最新文章

  1. 前端学HTTP之客户端识别和cookie
  2. 网购vs实体店购物 [20161226]
  3. BZOJ4607 : [PA2015 Final]Edycja
  4. 设置 tableview 的背景颜色,总是不生效
  5. (转) CCTextFieldTTF输入框
  6. 函数式编程之block
  7. 图形化Cisco设备管理实践(附安装配置视频)
  8. android中getSystemService详解
  9. HDU 2064 汉诺塔III
  10. debian+nginx配置初探--php环境、反向代理和负载均衡
  11. pytorch安装(使用pip3装到conda环境下)
  12. java项目 在 linux ubuntu 上的部署相关
  13. Appium入门(7)__Appium Desired Capabilities
  14. 修改OBS为仅直播音频
  15. jquery实现点击复制到剪切板
  16. 在Linux系统中增加和删除用户
  17. Java中存储金额用什么数据类型?
  18. 转 web前端性能分析--分析篇
  19. angularJs的run方法操作
  20. laravel5.5源码笔记(四、路由)

热门文章

  1. @codeforces - 685C@ Optimal Point
  2. Redis的持久化设计
  3. [每日一题2020.06.15]P1226 【模板】快速幂取余运算
  4. Windows服务监控工具Perfmon
  5. CFS三层网络环境靶场实战
  6. 多语言工作者の十日冲刺&lt;3/10&gt;
  7. 【初学Java学习笔记】SQL语句调优
  8. Perl入门(三)Perl的数组
  9. css样式学习笔记
  10. 30_栈的定义.swf