supplier、consumer、funtion、predicate接口的Lambda操作
2021/8/6 23:09:41
本文主要是介绍supplier、consumer、funtion、predicate接口的Lambda操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Lambda表示的操作
/*小括号内是形参,有点占位符的感觉,不进行赋值操作*/ @Test public void supplierTest() { int[] arr = {176, 34, 22, 544, 23}; Integer integer = arrayMax(() -> { int i = arr[0]; for(int a:arr){ if (a>i)i=a; } return i; }); System.out.println(integer); } public static Integer arrayMax(Supplier<Integer> supplier){ return supplier.get(); } @Test public void consumerTest() { String x="WERwer"; consumerAdd((msg)->{ System.out.println(msg.toLowerCase()); },x); } public static void consumerAdd(Consumer<String> consumer,String s){ consumer.accept(s); } @Test public void funtionTest() { String string="212"; Integer integer = funtionAdd(s -> { return Integer.valueOf(s); }, string); System.out.println(integer); } public static Integer funtionAdd(Function<String,Integer> function,String s){ return function.apply(s); } @Test public void predicateTest() { String string="212"; Boolean aBoolean = predicateAdd(s -> s.length() > 2 ? true : false, string); System.out.println(aBoolean); } public static Boolean predicateAdd(Predicate<String> predicate, String s){ return predicate.test(s); }
Lambda表达式和匿名内部类写法相类似,在参数位置实现接口中的抽象方法,Lambda适用的接口为函数式接口(接口中仅包含一个抽象方法)。
这篇关于supplier、consumer、funtion、predicate接口的Lambda操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27文件掩码什么意思?-icode9专业技术文章分享
- 2024-12-27如何使用循环来处理多个订单的退款请求,代码怎么写?-icode9专业技术文章分享
- 2024-12-27VSCode 在编辑时切换到另一个文件后再切回来如何保持在原来的位置?-icode9专业技术文章分享
- 2024-12-27Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品 审核中
- 2024-12-27TypeScript面试真题解析与实战指南
- 2024-12-27TypeScript大厂面试真题详解与解析
- 2024-12-26怎么使用nsenter命令进入容器?-icode9专业技术文章分享
- 2024-12-26导入文件提示存在乱码,请确定使用的是UTF-8编码怎么解决?-icode9专业技术文章分享
- 2024-12-26csv文件怎么设置编码?-icode9专业技术文章分享
- 2024-12-25TypeScript基础知识详解