函数式编程-Consumer 在实际环境的使用
package com.example.springstudy.test.consumer; import com.example.springstudy.entity.UserInfo; import java.util.function.Consumer; /** * @Author: GuoDong * @Description: * @Date 2023-02-06 17:47:46 * @Version 1.0 **/ public class ConsumerTest { /** * 提供参数方 * @param consumer * @param userInfo */ public void invoke(Consumer<UserInfo> consumer, UserInfo userInfo){ consumer.accept(userInfo); } public static void main(String[] args) { UserInfo userInfo = new UserInfo(); userInfo.setPassWord("1231"); userInfo.setPhone("3345345"); // 调用方式, bean.方法名() AAB a = new AAB(); Consumer<UserInfo> userInfoConsumer = a::handler; ConsumerTest consumerTest = new ConsumerTest(); consumerTest.invoke(userInfoConsumer, userInfo); } } class AAB{ /** * 处理方,需要接收一个UserInfo类型的入参, 在这里处理逻辑 * @param userInfo */ public void handler(UserInfo userInfo){ // 针对传过来的入参,处理业务逻辑 userInfo.setPhone("4353535"); System.out.println(userInfo); } }
总结:Consumer与Supplier相反,Consumer是消费入参,而Supplier是提供一个参数。多总结,多思考
郭慕荣博客园