Java函数式接口Supplier接口实例详解
这篇文章主要介绍了Java函数式接口Supplier接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在java.util.function包中被提供。下面是最简单的Supplier接口及使用示例。
Supplier接口概述
//Supplier接口源码 @FunctionalInterface publicinterfaceSupplier{ /** *Getsaresult. * *@returnaresult */ Tget(); }
java.util.function.Supplier
importjava.util.function.Supplier; publicclassDemo01Supplier{ publicstaticvoidmain(String[]args){ StringmsgA="Hello"; StringmsgB="World"; System.out.println( getString( ()->msgA+msgB ) ); } privatestaticStringgetString(SupplierstringSupplier){ returnstringSupplier.get(); } }
控制台输出:
HelloWorld
练习:求数组元素最大值
使用Supplier接口作为方法参数类型,通过Lambda表达式求出int数组中的最大值。接口的泛型使用java.lang.Integer类。
importjava.util.function.Supplier; publicclassDemoNumberMax{ publicstaticvoidmain(String[]args){ int[]numbers={100,200,300,400,500,-600,-700,-800,-900,-1000}; intnumberMax=arrayMax( ()->{ intmax=numbers[0]; for(intnumber:numbers){ if(maxintegerSupplier){ returnintegerSupplier.get(); } }
控制台输出:
数组中的最大值为:500
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。