函数式编程-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是提供一个参数。多总结,多思考

 

posted @ 2023-02-06 18:19  郭慕荣  阅读(33)  评论(0编辑  收藏  举报