栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

常用的函数式接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常用的函数式接口

函数式接口 Supplier

软件包 java.util.function

Interface Supplier

Supplier接口代表结果供应商,主要用于生成数据

方法摘要
返回值类型方法描述
Tget()无参,由lambda表达式返回以一个数据

Supplier接口也称为生产接口,由我们指定之口的泛型是什么类型,且get方法所生产的数据也会是该类型

eg: //当接口的泛型指定为Integer
	 Supplier sup;
	//调用get方法时,返回值类型为Integer
	Integer num = sup.get();
    定义一个方法,返回一个字符串
import java.util.function.Supplier;

public class SupplierDemo {
    public static void main(String[] args) {

        //Supplier是函数式接口,可以传递lambda表达式
        String name2 = getName(() -> {
            //返回一个字符串
            return "张彪";
        });


        //优化lambda表达式
        String name = getName(() -> "张彪");

        System.out.println(name);

    }

    
    private static String getName(Supplier sup){
        //调用sup对象的get()方法,返回一个数据
        return sup.get();
    }

}
    练习:在ArrayList集合中找出"张彪"并返回,若不在集合中,则返回"不存在"
public class Test {
    public static void main(String[] args) {

            String name = findName(() -> {
                //定义ArrayList集合,泛型为String
                ArrayList list = new ArrayList<>();
                //向集合添加数据
                list.add("张彪");
                list.add("李四");
                list.add("王五");
                list.add("赵六");
                list.add("张无鸡");
                list.add("田七");

                //增强for遍历list集合
                for (String s : list){
                    //判断”张彪“是否存在
                    if ("张彪".equals(s)) {
                        return s;
                    }
                }
                return "不存在";
            });

        //输出结果
        System.out.println(name);
    }
	//定义一个方法,参数为Supplier
    private static String findName(Supplier sup){
        return sup.get();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749071.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号