首页 > 编程语言 >java8 函数式编程实现策略模式

java8 函数式编程实现策略模式

时间:2022-11-04 18:12:28浏览次数:32  
标签:functionMap return String bankBusiness 编程 java8 str public 函数

代码如下:

 

/**
 * java8 函数式编程实现策略模式
 *
 * @date 2022/11/4
 */
public class FunctionStrategy {

    private static Map<String, Function<String, String>> functionMap = new HashMap<>();


    static {
        BankBusiness bankBusiness = new BankBusiness();
        functionMap.put("one", bankBusiness::one);
        functionMap.put("two", bankBusiness::two);
        functionMap.put("three", bankBusiness::three);
    }

    public String getCheckResult(String key, String str) {
        Function<String, String> function = functionMap.get(key);
        if (function != null) {
            return function.apply(str);
        }
        return "error";
    }

    public static void main(String[] args) {
        FunctionStrategy functionStrategy = new FunctionStrategy();
        System.out.println(functionStrategy.getCheckResult("one", "来咯"));
    }

    //内部类
    private static class BankBusiness {

        public String one(String str) {
            return "第一次执行" + str;
        }

        public String two(String str) {
            return "第二次执行" + str;
        }

        public String three(String str) {
            return "第三次执行" + str;
        }
    }

}

 

  

 

  执行结果:

 

标签:functionMap,return,String,bankBusiness,编程,java8,str,public,函数
From: https://www.cnblogs.com/xjwly/p/16858677.html

相关文章

  • MySQL函数-Group_Concat分组并行转列
    group_concat函数解析:1、concat()函数:  功能:将多个字符串连接成一个字符串  语法:concat(str1,str2)  结果:连接参数str1,str2为一个字符串,如果有任何一个参数为n......
  • 关于Excel中函数公式计算中的如何固定引用的单元格
    先看一下现象,如下,希望从B2单元格的值都为A2*A1,使用了公式=A2*A1同时也希望B3=A3*A1,B4=A4*A1,即B列的值都等于A列同行的值*A1这个固定单元格的值,这样的好处就是A1单元格的......
  • java网络编程 tcp 黑马程序员学习笔记(11)
    importjava.io.*;importjava.net.*;//步奏//建立socket对象publicclasstcpclient{publicstaticvoidmain(Stringargs[])throwsException{//创建客户端的s......
  • MATLAB:方波信号square函数的使用
    matlab中生成方波可以使用符号函数和正弦函数的复合函数,利用符号函数的正负性和正弦函数的周期性达到生成方波的效果。也可以通过封装好的函数square()进行生成 t=0......
  • 1、SVC的核函数
    1、解释分类模型。2、导包fromsklearn.svmimportSVC3、核函数介绍3.1、linear:线性核函数,是在数据线性可分的情况下使用的,运算速度快,效果好。不足在于它不能......
  • 别整一坨 CSS 代码了,试试这几个实用函数
    https://isdeed.com/article/use-cases-css-comparison-functions/CSS比较函数从2020年4月就开始支持了,我喜欢使用这些函数,但最喜欢的是 clamp(),它也是我最常用的一个。......
  • printf函数size_t的替换字符串zu
    参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-the-printf-familysize_tx=111;ssize_ty=-222;printf(......
  • 脚本编程语言基础
    PowerShellWindows系统自带,从6.0版本开始支持跨平台生态平台:PowerShellGalleryLinuxshellLinux的执行环境LinuxShell是linux系统中硬件和业务系统之间的交换层,分隔......
  • 黑窗口编程到底有什么用?
    首先、要明确一点、带图形的程序的底层也是黑窗口编程图形的显示只占一个程序的一小部分代码(从费脑子的程度考虑、图形的显示本身并不是很难、无非是基本图元组合、但显示......
  • TypeScript常用类型(基本类型,数组类型,类型别名type ,函数类型,对象类型,接口interface,元组
    原始基本类型letage:number=18;letmyname:string="tom";letflag:boolean=true;leta:null=null;letb:undefined=undefined;letc:symbol......