| 接口 | 描述 |
|---|---|
| BiConsumer<T,U> |
表示接受两个输入参数并且不返回结果的操作。
|
| BiFunction<T,U,R> |
表示接受两个参数并产生结果的函数。
|
| BinaryOperator<T> |
表示对同一类型的两个操作数的操作,产生与操作数相同类型的结果。
|
| BiPredicate<T,U> |
表示两个参数的谓词(布尔值函数)。
|
| BooleanSupplier |
代表boolean
boolean结果的供应商。
|
| Consumer<T> |
表示接受单个输入参数并且不返回结果的操作。
|
| DoubleBinaryOperator |
代表对两个
double操作数的操作,并产生一个
double结果。
|
| DoubleConsumer |
表示接受单个
double值参数的操作,不返回任何结果。
|
| DoubleFunction<R> |
表示接受双值参数并产生结果的函数。
|
| DoublePredicate |
表示一个
double值参数的谓词(布尔值函数)。
|
| DoubleSupplier |
代表double
double结果的供应商。
|
| DoubleToIntFunction |
表示接受双值参数并产生int值结果的函数。
|
| DoubleToLongFunction |
表示接受双值参数并产生长期值结果的函数。
|
| DoubleUnaryOperator |
表示对单个
double值操作数的操作,产生一个
double结果。
|
| Function<T,R> |
表示接受一个参数并产生结果的函数。
|
| IntBinaryOperator |
代表对两个
int操作数的操作,并产生一个
int结果。
|
| IntConsumer |
表示接受单个
int参数的操作,并且不返回任何结果。
|
| IntFunction<R> |
表示一个接受int值参数并产生结果的函数。
|
| IntPredicate |
表示一个
int值参数的谓词(布尔值函数)。
|
| IntSupplier |
代表int
int结果的供应商。
|
| IntToDoubleFunction |
表示接受一个int值参数并产生一个双值结果的函数。
|
| IntToLongFunction |
表示接受一个int值参数并产生一个长效结果的函数。
|
| IntUnaryOperator |
表示对单个
int值操作数的操作,产生一个
int值结果。
|
| LongBinaryOperator |
代表两个
long操作数的操作,并产生一个
long结果。
|
| LongConsumer |
表示接受单个
long参数的操作,并且不返回任何结果。
|
| LongFunction<R> |
表示接受长期参数并产生结果的函数。
|
| LongPredicate |
表示一个
long值参数的谓词(布尔值函数)。
|
| LongSupplier |
代表long
long结果的供应商。
|
| LongToDoubleFunction |
表示接受长期参数并产生双重值结果的函数。
|
| LongToIntFunction |
表示接受长值参数并产生int值结果的函数。
|
| LongUnaryOperator |
表示对单个
long值操作数的操作,产生一个
long结果。
|
| ObjDoubleConsumer<T> |
表示接受对象值的操作和
double参数,并且不返回任何结果。
|
| ObjIntConsumer<T> |
表示接受对象值和
int值参数的操作,不返回任何结果。
|
| ObjLongConsumer<T> |
表示接受对象值和
long值参数的操作,不返回任何结果。
|
| 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 (nilary函数R )。 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.