探索Java8——四大函数

文章目录

  • Function接口
    • 源码解析
  • Consumer 接口
  • Supplier 接口
  • Predicate 接口
  • 其他的接口

函数接口,你可以理解为对一段行为的抽象,简单点说可以在方法就是将一段行为作为参数进行传递,这个行为呢,可以是一段代码,也可以是一个方法,那你可以想象在java8之前要将一段方法作为参数传递只能通过匿名内部类来实现,而且代码很难看,也很长,函数接口就是对匿名内部类的优化。
虽然类库中的基本函数接口特别多,但其实总体可以分成四类,就好像阿拉伯数字是无限多的,但总共就10个基本数字一样,理解了这4个,其他的就都明白了。

Function接口

Function的作用是:实现一个”一元函数“,即传入一个值经过函数的计算返回另一个值。在Function中,T代表输入参数,R代表返回的结果。类似于函数 y = f ( x ) y=f(x) y=f(x)

源码解析


  • apply
R apply(T t);

举个例子更好明白 :

public void test(){
   
    Function<Integer,Integer> test=i->i+1;
    test.apply(5);
}
/** print:6*/

我们用lambda表达式定义了一个行为使得i自增1,我们使用参数5执行apply,最后返回6。

这跟我们以前看待Java的眼光已经不同了,在函数式编程之前我们定义一组操作首先想到的是定义一个方法,然后指定传入参数,返回我们需要的结果。函数式编程的思想是先不去考虑具体的行为,而是先去考虑参数,具体的方法我们可以后续再设置。

public void test(){
   
    Function<Integer,Integer> test1=i->i+1;
    Function<Integer,Integer> test2=i

你可能感兴趣的:(java,java8)