我是靠谱客的博主 昏睡过客,最近开发中收集的这篇文章主要介绍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方法解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部