package mydemo.day12.demo07Function;
import java.util.function.Function;
/* 练习:自定义函数模型拼接 题目 请使用Function进行函数模型的拼接,按照顺序需要执行的多个函数操作为: String str = “赵丽颖,20”;
分析:
1. 将字符串截取数字年龄部分,得到字符串;
Function<String,String> "赵丽颖,20"->"20"
2. 将上一步的字符串转换成为int类型的数字;
Function<String,Integer> "20"->20
3. 将上一步的int数字累加100,得到结果int数字。
Function<Integer,Integer> 20->120
/ public class Demo03Practice { / 定义一个方法 参数传递包含姓名和年龄的字符串 参数再传递3个Function接口用于类型转换 */ public static int change(String s, Function<String,String> fun1,Function<String,Integer> fun2,Function<Integer,Integer> fun3){ 使用andThen方法把三个转换组合到一起 return fun1.andThen(fun2).andThen(fun3).apply(s); }
public static void main(String[] args) {
//定义一个字符串
String s = "赵丽颖,20";
int num = change(s, (String s1) -> {
// 获取字符串中的数值字符 return s1.split(",")[1]; }, (String s2) -> { // 将数值字符转换为整数类型 return Integer.parseInt(s2); }, (Integer s3) -> { // 将转换的整数类型加上100 return s3+100; }); System.out.println(num); } }
|