函数式编程-Supplier 的使用
常用的函数式接口
java.util.function.Supplier<T>接口仅包含一个无参的方法:T get()。用来获取一个泛型参数指定类型的对象数据。
Supplier<T>接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据。
package com.example.springstudy.test.supplier; import java.util.function.Supplier; /** * @Author: GuoDong * @Description: * @Date 2023-02-06 09:39:08 * @Version 1.0 **/ public class Demo01Supplier { /** * 定义一个方法,方法的参数传递Supplier<T>接口,泛型执行String,get方法就会返回一个String */ public static String getString(Supplier<String> sup){ return sup.get(); } public static void main(String[] args) { //调用getString方法,方法的参数Supplier是一个函数式接口,所以可以传递Lambda表达式 String s = getString(()->{ //生产一个字符串,并返回 return "胡歌"; }); System.out.println(s); //优化Lambda表达式 String s2 = getString(()->"胡歌"); System.out.println(s2); } }
总结:
java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get() 。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。或者简单说这个接口只有一个get的抽象类。传入一个泛型T,get方法,返回一个泛型T。
郭慕荣博客园