目录
demo
函数式接口分类
-
Function<T,R>
T 作为输入,返回的 R 作为输出-
Predicate<T>
T 作为输入 ,返回 boolean 值的输出-
Consumer<T>
T 作为输入 ,没有输出-
Supplier<R>
没有输入 , R 作为输出-
BinaryOperator<T>
两个 T 作为输入 ,T 同样是输出-
UnaryOperator<T>
是 Function
的变种 ,输入输出者是 T
以Consumer为例
① Consumer是一个接口,并且只要实现一个
accept
方法,就可以作为一个“消费者”输出信息。② 其实,lambda 表达式、方法引用的返回值都是 Consumer 类型,所以,他们能够作为
forEach
方法的参数,并且输出一个值。
demo
package com.nio4444.demo.java8;
import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
public class ConsumerDemo {
public static void main(String[] args) {
List list = new ArrayList();
//入参b,类型String
Consumer<String> parseConsumer = b->{
list.add(Integer.parseInt(b)) ;
} ;
Arrays.asList("1","2","34").forEach(parseConsumer);
System.out.println(list) ; //[1, 2, 34]
}
}