本节讲述函数式编程接口Consumer 的使用。
- Consumer<T>: 数据消费器, 接收一个 T类型的对象,无返回值,通常用于设置T对象的值; 单参数无返回值的行为接口;提供了 accept, andThen 方法;
Consumer的源代码:
package java.util.function;
import java.util.Objects;
@FunctionalInterface
public interface Consumer<T> {
/**
* Performs this operation on the given argument.
*
* @param t the input argument
*/
void accept(T t);
default Consumer<T> andThen(Consumer<? super T> after) {
Objects.requireNonNull(after);
return (T t) -> { accept(t); after.accept(t); };
}
- 测试accept方法
Consumer<String> consumer = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
consumer.accept("1234");
consumer.andThen(consumer).andThen(consumer).andThen(consumer).accept("5678");
List<String> list = Arrays.asList(new String[]{"abc","efg"});
list.forEach(s -> {
System.out.println(s);
});
以上就是Consumer的基本使用。