首页 > 编程语言 >java supplier接口

java supplier接口

时间:2023-09-13 09:56:31浏览次数:40  
标签:java 函数 get 接口 Supplier supplier Lambda

参考:https://blog.csdn.net/m0_61366135/article/details/130557475

函数式接口概述

  • 有且仅有一个抽象方法的接口
  • Java中的函数式编程体现就是Lambda表达式
  • 所以函数式接口即可以适用于Lambda使用的接口

supplier

  • Java 中的 Supplier 接口是一个函数式接口,它不需要任何参数输入,只负责输出一个结果
  • T get():获得结果
  • 该方法不需要参数,它会按照某种实现逻辑(由Lambda表达式实现)返回一个数据。
  • Supplier接口也称为生产型接口,如果我们指定了接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据供我们使用

使用

//定义
Supplier<String> supplier = () -> "hello, world";
//使用
String result = supplier.get();
System.out.println(result);

应用场景

延迟计算

Supplier<LocalDateTime> currentTime = () -> LocalDateTime.now();  
LocalDateTime now = currentTime.get(); // 计算当前时间

生成随机数

Supplier<Double> randomDouble = () -> Math.random(); 
double d = randomDouble.get(); // 产生一个随机数

标签:java,函数,get,接口,Supplier,supplier,Lambda
From: https://www.cnblogs.com/hasome/p/17698733.html

相关文章

  • java序列化与反序列化
    理解Java序列化和反序列化serialization(序列化):将java对象以一连串的字节保存在磁盘文件中的过程,也可以说是保存java对象状态的过程。序列化可以将数据永久保存在磁盘上(通常保存在文件中)。deserialization(反序列化):将保存在磁盘文件中的java字节码重新转换成java对象称为反......
  • 买彩票能中大奖?用Java盘点常见的概率悖论 | 京东云技术团队
    引言《双色球头奖概率与被雷劈中的概率哪个高?》《3人轮流射击,枪法最差的反而更容易活下来?》让我们用Java来探索ta们!悖论1:著名的三门问题规则描述:你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后......
  • java获得音频比特率
    <dependency> <groupId>it.sauronsoftware</groupId> <artifactId>jave</artifactId> <version>1.0.2</version> </dependency>maven下载不成功的话,可以手动下载,下载地址:http://www.sauronsoftware.it/projects/ja......
  • JavaSE(IDEA)
    JavaSE(IDEA)publicclassMain{publicstaticvoidmain(String[]args){//单行注释////输出一个Hello,WorldSystem.out.println("Helloworld!");}}//多行注释/*注释*//*我是多行注释可以注释一段文字*/......
  • Java 基本类型和包装类
    Java是基于对象的,所以我们都需要以对象的想法来进行思维。但Java又提供了8个基本类型,这8个基本类型基本上都和数字有关,是直接可以使用的类型。 基本类型大小包装器类型boolean/Booleanchar16bitCharacterbyte8bitByteshort16bitShortint32......
  • Java中Comparable与Comparator的区别
    Java中的Comparable和Comparator都是比较有用的集合排序接口,但是这俩接口使用却有着明显区别,具体使用哪一个接口,今天我们来一起了解下。Comparable接口Comparable是一个排序接口,位于java.lang包下面,实现该接口的类就可以进行自然排序。先看下Comparable接口的定义:pa......
  • Java学习_005 if语句:奇偶数的判定
    需求:任意给出一个整数,使用程序判定该整数是奇数还是偶数,并在控制台输出。1importjava.util.Scanner;23publicclassMain{4publicstaticvoidmain(String[]args){5Scannersc=newScanner(System.in);6System.out.println("please......
  • java继承
    继承与合成基本概念继承:可以基于已经存在的类构造一个新类。继承已经存在的类就可以复用这些类的方法和域。在此基础上,可以添加新的方法和域,从而扩充了类的功能。合成:在新类里创建原有的对象称为合成。这种方式可以重复利用现有的代码而不更改它的形式。1.继承的语法关键字e......
  • 利用Api接口实现手机网络连接断开的监听
    在今天的移动互联网时代,手机已经成为了人们不可或缺的重要工具,而手机的联网状态也是我们经常需要关注的一个问题。我们需要保证手机网络处于正常的连接状态,但是有时候,由于种种原因,手机的网络可能会断开,这时我们需要及时发现,并进行相应的处理措施。而利用Api接口实现手机网络连接断......
  • Java反序列化:CommonsCollections3调试分析
    基础知识1.Java反射1.1getConstructorgetConstructor是Java反射API中的一个方法,用于获取类的公共构造方法的引用。构造方法是一种特殊的方法,用于创建类的实例(对象),并且通常在对象创建时进行初始化。getConstructor的函数原型:publicConstructor<?>getConstructor(Class......