接口 | 描述 |
---|---|
BiConsumer<T,U> |
表示接受两个输入参数,并没有结果的操作。
|
BiFunction<T,U,R> |
表示接受两个参数并产生结果的函数。
|
BinaryOperator<T> |
表示同一类型的两个操作数的操作,产生与操作数相同的结果。
|
BiPredicate<T,U> |
表示两个参数的谓词(布尔值函数)。
|
BooleanSupplier |
是一个
boolean -valued结果供应商。
|
Consumer<T> |
表示接受一个输入参数,并返回没有结果的操作。
|
DoubleBinaryOperator |
是一个运行在两
double -valued操作数和生产
double -valued结果。
|
DoubleConsumer |
代表的操作,接受一个
double -valued参数并返回任何结果。
|
DoubleFunction<R> |
表示接受双值参数并产生结果的函数。
|
DoublePredicate |
代表一个谓词(布尔值函数)的一
double -valued论点。
|
DoubleSupplier |
是一个
double -valued结果供应商。
|
DoubleToIntFunction |
代表一个函数,接受一个double值参数并产生一个int值结果。
|
DoubleToLongFunction |
表示接受双值参数并产生一个长值结果的函数。
|
DoubleUnaryOperator |
代表在一个单一的
double -valued操作产生的一个
double -valued结果操作。
|
Function<T,R> |
表示接受一个参数并产生结果的函数。
|
IntBinaryOperator |
是一个运行在两
int -valued操作数和生产
int -valued结果。
|
IntConsumer |
代表的操作,接受一个
int -valued参数并返回任何结果。
|
IntFunction<R> |
表示一个函数接受一个int值的参数和结果。
|
IntPredicate |
代表一个谓词(布尔值函数)的一
int -valued论点。
|
IntSupplier |
是一个
int -valued结果供应商。
|
IntToDoubleFunction |
表示一个函数接受一个int值的参数,产生一个双值结果。
|
IntToLongFunction |
表示一个函数接受一个int值的参数,产生的长值结果。
|
IntUnaryOperator |
代表在一个单一的
int -valued操作数,产生一个
int -valued结果操作。
|
LongBinaryOperator |
是一个运行在两
long -valued操作数和生产
long -valued结果。
|
LongConsumer |
代表的操作,接受一个
long -valued参数并返回任何结果。
|
LongFunction<R> |
表示接受一个长值参数并产生结果的函数。
|
LongPredicate |
代表一个谓词(布尔值函数)的一
long -valued论点。
|
LongSupplier |
是一个
long -valued结果供应商。
|
LongToDoubleFunction |
表示接受一个长值参数并产生一个双值结果的函数。
|
LongToIntFunction |
代表一个函数,接受一个长期价值的争论和产生一个int值结果。
|
LongUnaryOperator |
代表在一个单一的
long -valued操作产生的一个
long -valued结果操作。
|
ObjDoubleConsumer<T> |
代表的操作,接受一个对象的值和
double -valued的说法,并没有返回结果。
|
ObjIntConsumer<T> |
代表的操作,接受一个对象的值和
int -valued的说法,并没有返回结果。
|
ObjLongConsumer<T> |
代表的操作,接受一个对象的值和
long -valued的说法,并没有返回结果。
|
Predicate<T> |
表示一个参数的谓词(布尔值函数)。
|
Supplier<T> |
表示结果的供应商。
|
ToDoubleBiFunction<T,U> |
表示接受两个参数并产生一个双值结果的函数。
|
ToDoubleFunction<T> |
表示产生一个双值结果的函数。
|
ToIntBiFunction<T,U> |
表示一个函数接受两个参数产生一个int值结果。
|
ToIntFunction<T> |
代表一个函数,产生一个int值结果。
|
ToLongBiFunction<T,U> |
表示接受两个参数并产生一个长值结果的函数。
|
ToLongFunction<T> |
表示产生一个长值结果的函数。
|
UnaryOperator<T> |
表示一个操作在一个操作数,它产生一个与它的操作数相同的结果的结果。
|
// Assignment context
Predicate<String> p = String::isEmpty;
// Method invocation context
stream.filter(e -> e.getSize() > 10)...
// Cast context
stream.map((ToIntFunction) e -> e.getSize())...
此包中的接口是通用的功能接口通过JDK的使用,并可供用户使用的代码以及。虽然他们并不确定了一套完整的函数形状的lambda表达式可能是适合的,他们提供了足够的共同要求。为特定目的而提供的其他功能接口,如FileFilter
,定义在包装上使用它的地方。
此包中的接口都有FunctionalInterface
。这种注释是不是一个要求的编译器识别一个接口作为一个功能接口,但仅仅是一个援助,捕捉设计意图,并争取在确定意外违反设计意图的编译器的帮助。
功能接口经常代表抽象的概念,如函数、动作或谓词。在文档功能接口,或指的变量类型的功能接口,它是常见的直接指那些抽象的概念,例如使用“这个功能”,而不是“这个对象所代表的功能”。当一个API方法表示接受或返回这样一个功能接口,如“应用提供功能…”,这意味着实施相应的功能接口对象的非空参考,除非潜在的无效制度是明确规定。
在这个软件包中的功能接口遵循一个可扩展的命名约定,如下:
Function
(从T
到R
一元函数),Consumer
(一元函数从T
到void
),Predicate
(从T
到boolean
一元函数),和Supplier
(对R
nilary功能)。BiFunction
(从T
和U
到R
二进制功能)。UnaryOperator
(延伸Function
)和BinaryOperator
(延伸BiFunction
)。ToXxx
前缀,如ToIntFunction
。否则,类型参数是专门从左到右,在DoubleConsumer
或ObjIntConsumer
。(类型前缀Obj
是用来表明我们不想专攻这个参数,但要进入下一个参数,在ObjIntConsumer
。)这些方案可以结合,在IntToDoubleFunction
。ObjIntConsumer
)。FunctionalInterface
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.