Function接口主要用来做数据转换,根据一个类型的数据得到另一个类型的数据,前者称为前置条件,后者称为后置条件。
Function接口的方法:抽象方法Rapply(Tt)将参数t的数据类型从T类型转换为R类型默认方法andThen该方法是先做前一步操作接着做下一步操作
使用演示:有一个字符串,把数字部分提取出来把字符串的数字转换成数字类型将得到的数据进行操作
publicstaticvoidmain(String[]args){Stringstr=“HelloWorld,100”;Functionf1=newFunction<>(){@OverridepublicStringapply(Strings){returns.split(',');}};Functionf2=newFunction<>(){@OverridepublicIntegerapply(Strings){returnInteger.parseInt(s);}};Functionf3=newFunction<>(){@OverridepublicIntegerapply(Integerinteger){returninteger+=100;}};Integerapply=fandThen(andThen(apply(str);Systeout.println(apply);}
Function接口通常用于对参数进行处理,转换,然后返回一个新的值。publicclassFunctionDemo{publicstaticvoidmain(String[]args){convert(“100”,s->Integer.parseInt(s));convert(100,i->StrinvalueOf(i+56);convert(“100”,s->Integer.parseInt(s),i->StrinvalueOf(i+56);}
//定义一个方法,把一个字符串转换int类型,在控制台输出privatestaticvoidconvert(Strings,Functionfunctio{Integeri=functioapply(s);Systeout.println(;}
//定义一个方法,把一个int类型的数据加上一个整数后,转为字符串在控制台输出privatestaticvoidconvert(inti,Functionfunctio{Strings=functioapply(;Systeout.println(s);}
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点