侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 29 篇文章
  • 累计创建 40 个标签
  • 累计创建 185 个分类

Java8四大核心内置函数式接口

在前面简单介绍了一些Lambda表达式得好处与语法,我们知道使用Lambda表达式是需要使用函数式接口得,那么,岂不是在我们开发过程中需要定义许多函数式接口,其实不然,java8其实已经为我们定义好了4类内置函数式接口,这4类接口其实已经可以解决我们开发过程中绝大部分的问题,只有一小部分比较特殊得情况需要我们自己去定义函数式接口,本文就简单来学习一下java8内置得4大核心函数式接口。

在前面简单介绍了一些Lambda表达式得好处与语法,我们知道使用Lambda表达式是需要使用函数式接口得,那么,岂不是在我们开发过程中需要定义许多函数式接口,其实不然,java8其实已经为我们定义好了4类内置函数式接口,这4类接口其实已经可以解决我们开发过程中绝大部分的问题,只有一小部分比较特殊得情况需要我们自己去定义函数式接口,本文就简单来学习一下java8内置得4大核心函数式接口。

一、Function<T, R>:函数型接口(R apply(T t))

/**
     * 字符串操作
     * @param str 需要处理得字符串
     * @param fun Function接口
     * @return  处理之后得字符串
     */
    public String operatorStr(String str,Function<String,String> fun){
        return fun.apply(str);
    }
    /**
     * 函数型接口:Function<T,R>
     */
    @Test
    public void test5(){
        String s=operatorStr("中国四大名著",str->str.substring(0,2));
        System.out.println(s);
    }

img

上面就是一个函数型接口,输入一个类型得参数,输出一个类型得参数,当然两种类型可以一致。

二、Consumer:消费型接口(void accept(T t))

由于网站不幸被抽查审核,个站不允许出现付费等内容,后续将改成关注公主号可继续阅读。