函数式接口是指只包含一个抽象方法的接口,它可以用Lambda表达式来实现。Java中内置了一些常用的函数式接口,比如Consumer、Function、Predicate等,它们都是在java.util.function包中定义的。使用函数式接口,可以方便地实现函数式编程,在很多场景下,可以简化代码的编写和理解。
下面给出一个简单的示例,展示如何使用函数式接口:
import java.util.function.Function;
public class FunctionDemo {
public static void main(String[] args) {
Function<String, Integer> strToInt = Integer::parseInt; //将字符串转成整数
int num = strToInt.apply("123");
System.out.println(num); //输出:123
}
}
在这个示例中,我们使用了Function接口,它定义了一个抽象方法apply,用于将一个输入类型参数转成输出类型参数。我们创建了一个strToInt变量,并使用了Java 8中引入的方法引用(即Integer::parseInt)来实现这个抽象方法。之后,我们调用strToInt的apply方法,将字符串"123"转成整数,并将结果保存在一个num变量中,最后输出这个结果。
希望这个示例能够帮助你更好地理解和应用Java中的函数式接口。