首页 > 编程语言 >JAVA8 - 函数式接口

JAVA8 - 函数式接口

时间:2024-02-02 22:11:40浏览次数:32  
标签:Predicate 函数 int void 接口 描述符 JAVA8

目录

原始类型特化

JAVA8 为Predicate、Consumer、Suppler 等函数式接口带来了一个专门的版本,以便在输入和输出时都是基本类型时避免自动装箱的操作

IntPredicate evenNumbers = (int i) -> i % 2 == 0; //无装箱

Predicate<Integer> evenNumbers2 = (Integer i) ->   i % 2 == 0; //有装箱

函数描述符

函数式接口的抽象方法的签名基本就是Lambda 表达式的签名。我们将这种抽象方法叫作函数描述符。例如,Runnable 接口可以看作一个什么也不接受什么也不返回(void) 的函数的签名。举另外一个例子,(Apple,Apple) -> int 代表接受两个Apple 作为参数且返回int的函数

函数式接口 函数描述符 原始类型特化
Predicate T -> boolen IntPredicate、DoublePredicate、LongPredicate
Consumer T -> void IntConsumer、DoubleConsumer、LongConsumer
Function<T,R> T -> R IntFunction 、IntToDoubleFunction 、 IntToLangFunction 、 LongFunction 、LongToDoubleFunction 、 LongToIntFunction ToIntFunction 、 ToDoubleFunction 、 ToLongFunction
Supplier () -> T BooleanSupplier、 IntSupplier、 DoubleSupplier、 LongSupplier
UnaryOperator T -> T IntUnaryOperator、 LongUnaryOperator、 DoubleUnaryOperator
BinaryOperator (T,T) -> T IntBianryOperator、 LongBianryOperator、 DoubleBianryOperator
BiPredicate<L,R> (L,R) -> boolean
BiConsumer<T,U> <T,U> -> void ObjIntConsumer、 ObjLongConsumer、 ObjDoubleConsumer
BiFuntion<T,U,R> <T,U> -> R ToIntBiFunction<T,R> 、 ToLangBiFunction<T,R>、 ToDoubleBiFunction<T,R>

标签:Predicate,函数,int,void,接口,描述符,JAVA8
From: https://www.cnblogs.com/czzz/p/18004104

相关文章

  • 查询交强险投保日期API接口文档
     一、接口介绍交强险是指在我国机动车保险中的强制保险,也是车辆所有人在机动车投保时必须购买的一项保险。查询交强险投保日期API接口旨在提供一种简便快捷地查询车辆交强险相关信息的方式,包括投保日期、到期日期等。这个接口可以帮助用户及时了解车辆交强险的情况,并进行同步......
  • 无涯教程-every()函数
    every()方法检测数值元素的每个元素是否都符合条件。every()-语法array.every(callback[,thisObject]);callback   - 测试每个元素的功能。thisObject  - 执行回调时用作此对象。every()-返回值如果此数组中的每个元素是否都符合条件,符合则返回true......
  • 压缩算法_quicklz接口demo
    1quicklz  quicklz是单片机上一个常见的压缩算法,具体原理没有文档和hash表的相关基础我就不去深究了;  只需要将fileSrc.txt放在桌面,代码可以使用vscode的mingw直接编译;2quicklz源码quicklz.h/***quicklz.h*********************************************************......
  • 出海业务如何搭建国内也能快速访问的https网站与接口(无需备案)
    背景信息由于最近在搭建我的出海网站https://www.idatariver.com/zh-cn,感兴趣的可以看看。其中一个环节便是给后端API接口加上ssl,毕竟http看着不如https,但因为没有备案,所以不能使用国内的服务器(国内未备案域名是不开放服务器443和80端口的),本文便是解决怎么在网站没有备案的......
  • 定义HarmonyOS IDL接口
    HarmonyOSIDL简介HarmonyOSInterfaceDefinitionLanguage(简称HarmonyOSIDL)是HarmonyOS的接口描述语言。HarmonyOSIDL与其他接口语言类似,通过HarmonyOSIDL定义客户端与服务端均认可的编程接口,可以实现在二者间的跨进程通信(IPC,Inter-ProcessCommunication)。跨进程通信意味着......
  • 无涯教程-concat()函数
    concat()方法连接两个或更多的数组,并返回结果。concat()-语法array.concat(value1,value2,...,valueN);valueN  - 要连接到输出数组的数组和/或值。concat()-返回值返回一个新数组。concat()-示例varalpha=["a","b","c"];varnumeric=[1,2,3];var......
  • 模拟实现【memmove】函数
    C库函数- memmove() cpulspuls官方描述—<string.h>描述:memmove函数,和memcpy一样,可以将num个字节的值从源指向的位置直接复制到目标指向的内存块。不过memcpy一般用来处理2个独立的内存空间而memmove通常用来处理2块重叠的内存空间我们可以这样说:对于重叠的内存块,使用......
  • 无涯教程-String.prototype.includes(searchString, position = 0)函数
    该方法确定字符串是否是给定字符串的子字符串。String.prototype.includes-语法str.includes(searchString[,position])searchString-要搜索的子字符串。position    -该字符串中开始搜索searchString的位置;默认为0。String.prototype.includes-返回值t......
  • Oracle之decode函数的使用
    decode是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。decode函数的常用场景:1、使用decode判断字符串或数值decode(value,if1,then1,if2,then2,if3,then3,...,else)sql含义为:IF条件=值1THENRETURN(value1)ELSIF......
  • 无涯教程-String.prototype.startsWith(searchString, position = 0)函数
    该方法确定字符串是否以指定的字符开头。String.prototype.startsWith-语法str.startsWith(searchString[,position])searchString  - 在此字符串开头要搜索的字符。position     - 该字符串中开始搜索searchString的位置;默认为0。String.prototype.s......