| 接口 | 描述 |
|---|---|
| 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.