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

public class TestSupplier {

private int age;

(www.0831jlyy.com)

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

官方代码及注释:

/**(m.jlnk3659999.com)

* 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 {

(3g.xcjl0834.com)

/**

* 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; TestSuppli ...

  2. 一文带你深入理解JVM内存模型

    一文带你深入理解JVM内存模型 一.JAVA的并发模型 共享内存模型 在共享内存的并发模型里面,线程之间共享程序的公共状态,线程之间通过读写内存中公共状态来进行隐式通信 该内存指的是主内存,实际上是物 ...

  3. 一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图)值得收藏!!!

    受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话:"八小时内谋生活,八小时外谋发展. ...

  4. 两个相邻盒子的边框怎么只显示一个_一篇文章带你快速理解盒子模型「经典案例」...

    今天带大家快速理解盒子模型,直接上代码: css盒子 我的css盒子测试模型 上面代码没有任何难度,只是写了一个div标签,大家已经知道,div标签是块级元素,所以会占满一行: 但是我们也注意到了图片 ...

  5. 红黑树在java中的作用_带你真正理解Java数据结构中的红黑树

    红黑树是平衡的二叉树,它不是一个完美的平衡二叉树,但是在动态插入过程中平衡二叉搜索树的代价相对较高,所以红黑树就此出现,下面就让爱站技术频道小编带你一起进入下文了解一下吧! 一.红黑树所处数据结构的位 ...

  6. rtosucos和linux区别,为什么我们需要uCos?带你透彻理解RTOS

    原标题:为什么我们需要uCos?带你透彻理解RTOS 与uCos见面还是大学的时候,老师让我为毕业设计选一个课题,要求有关嵌入式实时操作系统,于是开始在网上搜索,顺理成章的就发现了uCos,于是开始了 ...

  7. 10个问题带你全面理解Linux性能优化

    10个问题带你全面理解Linux性能优化 • Feiskyhttps://feisky.xyz/posts/2020-06-06-linux-perf/本文整理自极客时间"10个问题带你全面 ...

  8. 一文带你深入理解【Java基础】· 枚举类

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  9. 简述什么是图灵机_带你深入理解图灵机--什么是图灵机、图灵完备

    原标题:带你深入理解图灵机--什么是图灵机.图灵完备 我们知道图灵机首次提出在图灵的一篇论文<论数字计算在决断难题中的应用>中提出,原论文题目为<On Computable Numb ...

最新文章

  1. 性能测试 (四) 常用指标
  2. mysql32位主从复制安装包,MySQL安装-主从复制(5)
  3. SpringCloud微服务实战(一)-简介
  4. 在 iOS 客户端上通过 bitcode 为第三方库修复 bug
  5. 协方差矩阵经线性变化可以变成不相关的
  6. svn之删除文件并释放空间
  7. dsp处理浮点数_DSP学习笔记(二)——DSP中浮点数与定点数格式与运算处理
  8. 51单片机计算机加原理图,AT89C51单片机的基本结构和工作原理
  9. Mongoose populate方法
  10. 快捷餐饮之店家后台OSS文件管理实现
  11. 关于谷歌邮箱注册收不到验证码——”此电话号码无法用于验证“的问题
  12. Anchor-based 与 Anchor-free
  13. 谈B2B电商平台与大数据
  14. zookeeper选举和ZAB协议
  15. Windows文件名区分大小写
  16. c语言用average函数计算平均成绩,在excel中-Excel中,求平均值用Average函数;它可分用快捷键求平均值...
  17. 一个故事一首歌——《枯叶之蝶…
  18. 小学生算术测试c语言报告,C语言课程设计报告-小学算术运算测试.doc
  19. 济南都市丽人婚纱摄影流程
  20. c语言中生日蛋糕图片大全,关于生日蛋糕图片大全

热门文章

  1. Arnold折射中使用LPE单独提取某个材质的渲染结果
  2. java aes iv 24位_当key和IV是Java字节数组时,用python进行AES解密
  3. 易语言启动线程传递多个类型的数据变量
  4. C语言:输出1~100中3的倍数,每个数之间用制表符\t隔开,并且每到4的倍数就换行
  5. 计算机tpm,电脑TPM是什么意思 怎么看有没有开启TPM 在哪里设置打开
  6. DTOJ #3880. 灌水
  7. 超导磁体剩余磁场对软磁材料测试的影响
  8. 采访Presto作者Christopher Berner
  9. Ada的另一个身份--计算机语言
  10. 汇聚交换机有什么作用?该如何选择?