我是靠谱客的博主 昏睡过客,最近开发中收集的这篇文章主要介绍Java的java.util.function.Function接口中identity方法解析,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
java.util.function.Function是函数式接口,它的特点是有且只有一个抽象方法,这样的接口被@FunctionalInterface所注释,能够应用于JDK1.8开始的函数式编程。
对于这样的函数式接口,因为只有一个抽象函数,所以只要实现了该函数就能够实例化对象了。所以可以通过下面这一行代码的方式实例化一个“接口”对象:
Function<Integer, Integer> fun = x -> x + 1;
其中等号(=)右边的是Function接口中的那个抽象方法的实现。鉴于此,我们可以得出一个结论:
对于函数式接口,形如这样的表达式(
x -> x + 1
)能够实例化一个对象。并且该表达式正是那个唯一的抽象方法的实现。
而Function接口中的方法identity的申明为如下,根据上面的结论,现在能够明白该方法返回的是一个Function对象。并且t->t
是Function接口中的抽象方法R apply(T t)
的实现。
static <T> Function<T, T> identity() {
return t -> t;
}
所以如果使用identity方法来产生一个Function对象,那么其apply方法的作用为:返回所传入apply方法中的参数。因此下面代码打印的信息为“helloWorld”;
import java.util.function.Function;
public class Main {
public static void main(String[] args) {
//Function<Integer, Integer> fun = x -> x + 1;
Function<String, String> fun1 = Function.identity();
String str1 = fun1.apply("helloWorld");
System.out.println(str1);
}
}
结束!
最后
以上就是昏睡过客为你收集整理的Java的java.util.function.Function接口中identity方法解析的全部内容,希望文章能够帮你解决Java的java.util.function.Function接口中identity方法解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复