Consumer接口-Consumer接口的默认方法andThen
2024-10-10 21:23:48
Consumer接口
java.util.function.Consumer<T〉接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,
其数据类型由泛型决定。
抽象方法:accept
Consumer 接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。基本使用如
当然,更好的写法时使用方法引用.
Consumer接口的默认方法andThen
如果一个方法的参数和返回值全都是Consumer类型,那么就可以实现效果∶消费数据的时候,首先做一个操作,然后再做一个操作,实现组合。而这个方法就是Consumer:接口中的default方法 andThen 。下面是IDK的源代码∶
备注:ljava.util.objects的requineNonNull静态方法将会在参数为null时主动抛出NullPointerException异常。这省去了重复编写if语句和抛出空指针异常的麻烦。
要想实现组合,需要两个或多个Lambda表达式即可,而and Then的语义正是"一步接一步"操作。例如两个步骤组合的情况∶
package A_Lian_one.Demo22.Demo04Supplier; import java.util.function.Consumer; public class Demo02AndThen {
public static void main(String[] args) {
method("Hello",
(t) -> {
System.out.println(t.toUpperCase());
}, (t) -> {
System.out.println(t.toLowerCase());
} );
} public static void method(String s, Consumer<String> con1, Consumer<String> con2) {
con1.andThen(con2).accept(s);
// con1.accept(s);
// con2.accept(s);
}
}
最新文章
- HashSet HashTable HashMap的区别 及其Java集合介绍
- 在Cubieboard上关闭irqbalance服务避免内存泄漏
- 【Linux高频命令专题(10)】mv
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- js中三目运算符和&;&; || 符的个人浅见
- java多线程系列(七)---Callable、Future和FutureTask
- Java 高级开发必修知识---反射
- LabView ModBus安装
- python爬虫第三天
- 理解 DocumentFragment
- JAVA注释的另一种神奇用法
- 《Python》 计算机基础
- 腾讯笔试题 构造回文(LCS问题)
- [Qt扒手2] PyQt5 路径绘画例子
- Django实战(15):Django实现RESTful web service
- 利用MailSniper越权访问Exchange邮箱
- CSS3 文本超出后显示省略号...
- 公众号js-sdk简
- mysql字符集的修改
- 上传组件uploadify在spring中返回406 / Not Acceptable 问题解决