【Java 8 操作函数接口Consumer】

package com.guahao.dap.mi.access.external.base;

import lombok.Data;

/**
 * @author 
 * @version V1.0
 * @since 2022/3/22 16:28
 */
@Data
public class Head {

    private String eyes;

    private String mouth;

    private String noise;
}
package com.guahao.dap.mi.access.external.base;

import lombok.Data;

/**
 * @author 
 * @version V1.0
 * @since 2022/3/22 15:50
 */
@Data
public class Result {

    private String statusCode;
    /**
     * /状态描述信息
     */
    private String desc;
}
package com.guahao.dap.mi.access.external.base;


import org.apache.cxf.jaxws.javaee.CString;

import java.util.function.Consumer;
import java.util.function.Function;

/**
 * @author 
 * @version V1.0
 * @since 2022/3/22 15:27
 */

@FunctionalInterface
public interface ThrowExceptionFunction<T extends Object> {
    //定义三个消费接口(只有入参,没有出参)
    void doAction(Consumer<? super T> action1,Consumer<? super T> action2,Consumer<? super T> action3);

}
package com.guahao.dap.mi.access.external.base;

/**
 * @author 
 * @version V1.0
 * @since 2022/3/22 15:30
 */
public class VUtils {
    public static ThrowExceptionFunction getResult(Head b) {
            return (co1,co2,co3) -> {
              if(b.getMouth()!=null){
                  co1.accept("mouth");
              }else if(b.getEyes()!=null){
                  co2.accept("eyes");
              }else {
                  co3.accept("else");
              }
            };
     }
}
package com.guahao.dap.mi.access.external.base;

/**
 * @author 
 * @version V1.0
 * @since 2021/10/27 15:56
 */
public class Test {

    @org.junit.Test
    public void test() {
        Head head = new Head();
        head.setEyes("111");
        Result result = new Result();
        VUtils.getResult(head).doAction(a -> {
            result.setDesc("有嘴"+a);
        },a -> {
            result.setDesc("有眼睛"+a);
        },a -> {
            result.setDesc("其他"+a);
        });
        System.out.println(result);
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值