Skip navigation links
Java™ Platform
Standard Ed. 8

Package java.util.function

功能界面提供了lambda表达式和方法引用的目标类型。

See: 描述

Package java.util.function Description

功能界面提供了lambda表达式和方法引用的目标类型。 每个功能界面都有一个抽象方法,称为功能接口的功能方法 ,lambda表达式的参数和返回类型与之匹配或调整。 功能界面可以在多个上下文中提供目标类型,如赋值上下文,方法调用或转换上下文:
   // 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方法被称为以这种方式接受或返回功能界面时,例如“将所提供的功能应用于...”,这被理解为对实现适当功能界面的对象的非空引用,除非明确指定潜在的无效。

该包中的功能接口遵循可扩展的命名约定,如下所示:

从以下版本开始:
1.8
另请参见:
FunctionalInterface
Skip navigation links
Java™ Platform
Standard Ed. 8