JDK8新特性-java.util.function-Function接口
时间: 2024-05-09 08:16:15 浏览: 14
Java 8引入了一个全新的包:`java.util.function`,它提供了一些函数式接口,这些接口可以用于Lambda表达式和方法引用。其中函数式接口`Function`是其中之一。
`Function`接口代表一个函数,它接受一个输入参数并生成一个结果。它的常用方法是`apply()`,它接受一个参数并返回一个结果。
下面是一个示例,展示了如何使用`Function`接口:
```java
import java.util.function.Function;
public class FunctionDemo {
public static void main(String[] args) {
// 创建一个Function实例
Function<String, Integer> f = s -> s.length();
// 使用apply方法调用函数
int length = f.apply("Hello World");
System.out.println("Length of the string is " + length);
}
}
```
输出结果为:
```
Length of the string is 11
```
在这个示例中,我们创建了一个`Function`实例,它接受一个字符串并返回字符串的长度。然后我们使用`apply()`方法来调用这个函数,并将字符串"Hello World"作为参数传递进去。
除了`apply()`方法,`Function`接口还提供了一些其他的默认方法,例如`andThen()`方法和`compose()`方法,它们可以用于将`Function`实例组合成更复杂的函数。
总之,`Function`接口是Java 8函数式编程的重要组成部分,它为Lambda表达式和方法引用提供了很大的灵活性和方便性。