supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码:

public class TestSupplier {

private int age;

TestSupplier(){

System.out.println(age);

}

public static void main(String[] args) {

//创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象

Supplier sup= TestSupplier::new;

System.out.println("--------");

//调用get()方法,此时会调用对象的构造方法,即获得到真正对象

sup.get();

//每次get都会调用构造方法,即获取的对象不同

sup.get();

}

}

输出结果:

--------

0

0

官方代码及注释:

/**

* Represents a supplier of results.

*

*

There is no requirement that a new or distinct result be returned each

* time the supplier is invoked.

*

*

This is a functional interface

* whose functional method is {@link #get()}.

*

* @param the type of results supplied by this supplier

*

* @since 1.8

*/

@FunctionalInterface

public interface Supplier {

/**

* Gets a result.

*

* @return a result

*/

T get();

}

根据代码和官方注释,我的个人理解:

1.supplier是个接口,有一个get()方法

2.语法 :

Supplier sup= TestSupplier::new;

3.每次调用get()方法时都会调用构造方法创建一个新对象。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Supplier JAVA_深入理解java1.8之supplier相关推荐

  1. Supplier JAVA_带各位深入理解java1.8之supplier

    supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码: public class TestSupplier { private int age; (www.0831j ...

  2. Supplier JAVA_「supplier」java1.8之supplier理解 - seo实验室

    supplier supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码: public class TestSupplier { private int age; T ...

  3. java1.8之supplier理解

    supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码: public class TestSupplier {private int age;TestSupplier ...

  4. Supplier JAVA_使用Supplier Java 8进行缓存

    好的,让我们以较小的步骤重写代码,转向更老式,冗长的Java. 也许这使得理解起来更简单. 第一步:摆脱lambda: public static Supplier memoize(final Sup ...

  5. 关于Supplier的一些理解

    在探寻orElseGet的时候查看底层实现的时候发现: public T orElseGet(Supplier<? extends T> other) {return value != n ...

  6. supplier java8_关于JAVA8中关于Supplier的个人理解

    什么是Supplier supplier接口是JAVA8以后配合lambda表达式和函数式接口编程(FunctionInterface,以下简称FI)组合使用的一个接口,对外表现为双冒号": ...

  7. java1.8之supplier

    2019独角兽企业重金招聘Python工程师标准>>> supplier也是是用来创建对象的, 但是不同于传统的创建对象语法:new 看下面代码: public class Test ...

  8. Supplier JAVA_Java基础学习之函数式编程Supplier接口(JDK8)

    前言 今天带大家领略一下Supplier接口大道至简的魅力. 1.源码 @FunctionalInterface public interface Supplier { /*** Gets a res ...

  9. juc java_深入理解JUC(java.util.concurrent)

    Concurrent下的核心类 Executor:具有runnable任务的执行者 ExecutorService:一个线程池管理者,实现类有多种,能把runnable,callable提交到线程池中 ...

最新文章

  1. linux 日志 停止滚动,linux – syslog在日志轮换后停止记录
  2. 北航计算机学院编译原理,1 北航本科编译原理课件课本 张莉.pdf
  3. mbedtls移植体验
  4. 「微信小程序免费辅导教程」24,基础内容组件icon的使用探索与7月26日微信公众平台的更新解读...
  5. java SWT Browser实现浏览器功能并运行JavaScript代码
  6. 震撼!豆瓣评分9.3,这部纪录片带你感受生命之重!
  7. jquery实现全选功能
  8. 循环结构程序设计学习心得
  9. matlab常见函数表达式,MATLAB常用函数简介
  10. WinCE全屏手写输入法
  11. word编辑公式并编号
  12. X1000对于CPU Core的参数解读(MIPS Cache)
  13. 迅睿cms模板,迅睿cms模板建站,迅睿模板主题开发
  14. 今日恐慌与贪婪指数为10 恐慌程度稍有上升
  15. 境内股指期货品种、合约类型和周期规律简介
  16. 白色在html中怎么写,html如何设置文字颜色白色
  17. 晶振原理详解及测试方法
  18. Java实例项目之英尺转换
  19. 简述TCP的流量控制与拥塞控制
  20. “笨办法”学Python3,Zed A. Shaw,习题15

热门文章

  1. 聚类联邦学习的拜占庭鲁棒性
  2. msn用非hotmail邮箱注册!
  3. 查找最接近的元素(c语言)
  4. 清华领军计划计算机试题,清华大学领军计划测试物理试题含答案
  5. JDK8安装JCE无限强度
  6. CSV文件在网络爬虫中的应用
  7. NetCore配置详解(1)
  8. iis打开aspx文件时显示无法找到该页
  9. SPA(单页应用)首屏加载慢的优化方案
  10. MATLAB实验(信号与系统的频域分析)