package com.yang.Test.FunctionStudy;

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 Test {
/**
* 定义一个方法
* 参数传递包含姓名和年龄的字符串
* 传输再传递三个Function接口用于类型转换
*/
protected static int change(String s, Function<String, String> fun1, Function<String, Integer> fun2, Function<Integer, Integer> fun3) {
/* String apply = fun1.apply(s);
Integer integer = fun2.apply(apply);
Integer integer1 = fun3.apply(integer);
return integer1;*/ //把三个转换组合导一起使用andThen
return fun1.andThen(fun2).andThen(fun3).apply(s);
} public static void main(String[] args) {
//定义一个字符串
String str = "赵丽颖,20";
//调用change方法
int i = change(str, s -> {
String[] split = s.split(",");
return split[1];
}, s -> {
return Integer.parseInt(s);
}, integer -> {
return integer + 100;
}); System.out.println(i); }
}

常用的函数式接口_Function接口练习_自定义函数模型拼接的更多相关文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_16_常用的函数式接口_Function接口中练习-自定义函数模型拼接

  2. 常用的函数式接口_Prodicate接口_默认方法or&negate和常用的函数式接口_Predicate接口练习_集合信息筛选

    常用的函数式接口_Prodicate接口_默认方法or&negate OR package com.yang.Test.PredicateStudy; import java.util.fun ...

  3. 常用的函数式接口_Supplier和常用的函数式接口Supplier接口练习_求数组中元素最大值

    Supplier接口 package com.yang.Test.SupplierStudy; import java.util.function.Supplier; /** * 常用的函数式接口 * ...

  4. Java常用函数式接口--Consumer接口andThen()方法使用案例(二)

    Java常用函数式接口--Consumer接口使用案例

  5. Java常用函数式接口--Predicate接口使用案例

    Java常用函数式接口--Predicate接口使用案例 该方法可以使用and来优化: 调用:

  6. 死磕Lambda表达式(四):常用的函数式接口

    失去人性,失去很多:失去兽性,失去一切.--<三体> 在Java8支持Lambda表达式以后,为了满足Lambda表达式的一些典型使用场景,JDK为我们提供了大量常用的函数式接口.它们主要 ...

  7. 常用的函数式接口Function接口和常用的函数式接口Function接口默认方法andThen

    常用的函数式接口Function接口 package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * ja ...

  8. 常用的函数式接口_Predicate接口和常用的函数式借楼_Predicate_默认方法and

    package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * java.util.function. ...

  9. 常用的函数式接口_Consumer接口和常用的函数式接口_Consumer接口的默认方法andThen

    Consumer接口 java,util.function.Consumer接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定 抽象方法:accept C ...

随机推荐

  1. 从 Notion 分片 Postgres 中吸取的教训(Notion 工程团队)

    https://www.notion.so/blog/sharding-postgres-at-notion 今年(2021)早些时候,我们对 Notion 进行了五分钟的定期维护. 虽然我们的声明指 ...

  2. 2021夏季学期华清大学EE数算OJ1:算数问题

    第一次写博客,有点紧张... 也许格式也没有特别丑吧 先看原题( 此题做法众多,这里仅仅介绍蒟蒻的一种很复杂的思路(但最后还是喜提0ms的好成绩) 读完这道题,不难发现,此题不过是一个质因数分解+一堆 ...

  3. 最佳案例 | 游戏知几 AI 助手的云原生容器化之路

    作者 张路,运营开发专家工程师,现负责游戏知几 AI 助手后台架构设计和优化工作. 游戏知几 随着业务不断的拓展,游戏知几AI智能问答机器人业务已经覆盖了自研游戏.二方.海外的多款游戏.游戏知几研发团 ...

  4. 无线:PIN码

    PIN码(PIN1),全称Personal Identification Number.就是SIM卡的个人识别密码.手机的PIN码是保护SIM卡的一种安全措施,防止别人盗用SIM卡,如果启用了开机PI ...

  5. 好客租房14-在jsx中使用javascript表达式的注意点

    注意点 单大括号中可以使用任意的表达式 jsx自身也是js表达式 注意:js中的对是一个例外 写在style样式中 //导入react     import React from "reac ...

  6. 爬取百度页面代码写入到文件+web请求过程解析

    一.爬取百度页面代码写入到文件 代码示例: from urllib.request import urlopen #导入urlopen包 url="http://www.baidu.com& ...

  7. mysql配置与存储引擎与字段类型与约束条件

    目录 字符编码与配置文件 存储引擎 创建表的完整语法 字段类型 整型 浮点型 字符类型 数字的含义 枚举与集合 日期类型 约束条件 字符编码与配置文件 在MySQL5.X系列中,显示的字符编码有多种, ...

  8. 基于PYQT5的截图翻译工具

    基于PYQT5的截图翻译工具 功能介绍 翻译功能 截图功能(快捷键 + 截图存储到剪切板中) 文字识别OCR(基于百度API的文字识别) UI 界面 截图 截图可以使用第三方截图 或 使用PyQt5截 ...

  9. 类型转换——JavaSE基础

    类型转换 类型判断 可以通过Instanceof关键字判断左操作数是否是右操作数的父类或本身 强制类型转换 不能对布尔值进行转换 不能将对象类型转换为不相关的类型 把高容量转向低容量时,需要进行强制类 ...

  10. MySQL数据库5

    内容概要 pyhton操作MySQL SQL注入问题 修改表SQL语句补充 视图.触发器.储存过程 事务 流程控制 函数 索引与慢查询优化 内容详情 pyhton操作MySQL python中支持操作 ...