【JDK8之旅】——Supplier

2024-08-26 15:38
文章标签 jdk8 之旅 supplier

本文主要是介绍【JDK8之旅】——Supplier,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

本来计划总结一下java8中的方法引用,但是在使用方法引用的过程中,我们会不断的见到这个内建的函数式接口,首先我们来看一下源码

package java.util.function;/*** Represents a supplier of results.* 这是一个提供结果的函数接口.* 特点:* (1)只有返回值* (2)没有输入参数* <p>There is no requirement that a new or distinct result be returned each* time the supplier is invoked.** get()方法被调用时,对于一定要new出一个新对象 or 生成一个和之前结果不同的值 这两方面,都没有强制规定.* 这一接口函数的功能方法为:get()** <p>This is a <a href="package-summary.html">functional interface</a>* whose functional method is {@link #get()}.** @param <T> the type of results supplied by this supplier** @since 1.8*/
@FunctionalInterface
public interface Supplier<T> {/*** Gets a result.** @return a result*/T get();
}

对应源码中的注释,我大概这样理解:

使用demo:

public void test(){//创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象Supplier<RobotUser> user=RobotUser::new;//调用get()方法,此时会调用对象的构造方法,即获得到真正对象RobotUser user1 = user.get();}

每次调用get()方法的时候才会创建对象。并且每次调用创建的对象都不一样;

这个内建的函数借口,在下面分享方法引用的时候,频繁出现1

这篇关于【JDK8之旅】——Supplier的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108975

相关文章

JDK8中关于最小堆的实现(PriorityBlockingQueue)

java.util.concurrent.PriorityBlockingQueue#siftUpComparable 代码很简单,记录一下。 /*** Inserts item x at position k, maintaining heap invariant by* promoting x up the tree until it is greater than or eq

Spring Boot 注解探秘:HTTP 请求的魅力之旅

在SpringBoot应用开发中,处理Http请求是一项基础且重要的任务。Spring Boot通过提供一系列丰富的注解极大地简化了这一过程,使得定义请求处理器和路由变得更加直观与便捷。这些注解不仅帮助开发者清晰地定义不同类型的HTTP请求如何被处理,同时也提升了代码的可读性和维护性。 一、@RequestMapping @RequestMapping用于将特定的HTTP请求映射到特定的方法上

关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案

我下载了iReport5.6.0 版本的,启动不起来;jdk 1.8 下载iReport5.6.0地址:https://download.csdn.net/download/u013456370/10589765 参考链接:https://blog.csdn.net/erlian1992/article/details/76359191?locationNum=6&fps=1 如果是停留在这

28.8K Star,音乐新体验,开启你的高颜值音乐之旅

Hi,骚年,我是大 G,公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 导语 音乐是生活中不可或缺的调味品,一个好的音乐播放器能够极大地提升我们的听觉享受。今天,我要向大家推荐一个名为 YesPlayMusic 的第三方网易云音乐播放器,它不仅拥有高颜值的界面设计,还支持跨平台使用,让你的音乐体验更上一层楼

杨bob的技术之旅

杨bob今天正式入驻csdn,以后要把自己每一点滴写成文章,这也是冲高阶的毕竟之路

Midjourney 随机风格 (Style Random),开启奇幻视觉之旅

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话:       Midjourney 最近推出了 "Style Random"(随机风格),这项功能可以让我们使用独特的随机 sref 代码创建图像,从而每次都能获得不同的美感。通过对这些功能的探索和尝试,我发现了一些很棒的风格,我很高兴能与大家分享,这样可以节省大家的时间,不用自己动手测试。在本文中,我将展示十个M

Linux环境中安装java环境(JDK8环境)

需求背景: 给国产服务器(银河麒麟V10)中安装项目运行环境,安装java环境!具体如下 下载jdk包 访问Oracle官网下载jdk包:Java Downloads | Oracle 中国 选择对应的cpu架构进行下载 https://download.csdn.net/download/qq_43544074/89720607https://download.csdn.net/d

《长得太长也是错?——后端 Long 型 ID 精度丢失的“奇妙”修复之旅》

引言 在前后端分离的时代,我们的生活充满了无数的机遇与挑战——包括那些突然冒出来的让人抓狂的 Bug。今天我们要聊的,就是一个让无数开发者哭笑不得的经典问题:后端 Long 类型 ID 过长导致前端精度丢失。说到这个问题,那可真是“万恶之源”啊,谁让 JavaScript 只能安全地处理 Number.MAX_SAFE_INTEGER(也就是 9007199254740991)以内的数值呢?

SpringBoot与Minio的极速之旅:解锁文件切片上传新境界

目录 一、前言 二、对象存储(Object Storage)介绍 (1)对象存储的特点 (2)Minio 与对象存储 (3)对象存储其他存储方式的区别 (4)对象存储的应用场景 三、Minio基础介绍 (1)主要特性 (2)应用场景 (3)架构和部署 四、SringBoot集成MinIO实现切片上传 1. 引入依赖 2.配置MinIO相关配置信息 3. 配置 Min

微信公众号《GIS 数据工程:开始您的 ETL 之旅 》 文章删除及原因

微信公众号多次限制付费文章发布,不太明确其原因。我猜可能是得罪了某位大神,这倒是也不是不可能。我这说话口无遮拦,得罪几个人偶尔搞我一下也是应该的 。当然也可能是部分喜欢白嫖的网友一看我收费就不太高兴,偶尔做点小动作也是有可能的。还有就是平台可能有其它我未知的情况。反正也不猜了,这类问题纠结起来太浪费时间,所以认怂是最好的处理方式。 因此我只能改为线下购买。如有需要线下与我联系。以后