From 64e5edb2038705e14b352647eb79567e8cb4da07 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 14 Mar 2026 13:56:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day06-Function=E7=9A=84?= =?UTF-8?q?=E7=BB=83=E4=B9=A0&&=E5=87=BD=E6=95=B0=E5=BC=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9A=84=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/functional_interface02/Demo15.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/javaSE-day07/src/com/inmind/functional_interface02/Demo15.java b/javaSE-day07/src/com/inmind/functional_interface02/Demo15.java index 0963c02..732ddfc 100644 --- a/javaSE-day07/src/com/inmind/functional_interface02/Demo15.java +++ b/javaSE-day07/src/com/inmind/functional_interface02/Demo15.java @@ -1,4 +1,8 @@ package com.inmind.functional_interface02; + +import java.util.function.Function; +import java.util.function.Supplier; + /* 请使用Function进行函数模型的拼接,按照顺序需要执行的多个函数操作为: @@ -6,9 +10,21 @@ package com.inmind.functional_interface02; 2. 将上一步的字符串转换成为int类型的数字;(String->integer) 3. 将上一步的int数字累加100,得到结果int数字。(integer->integer) +常见函数式接口总结: +1.consumer(消费者) :接收一个参数,没有返回值 p->{} +2.Supplier(生产者) :没有参数,有一个返回值 ()->{return ..} +3.predicate(数据筛选):接收一个参数,返回一个boolean p->{return ...} +4.function(数据转换工厂):接收一个参数,有一个返回值 p->{return ...} */ public class Demo15 { public static void main(String[] args) { String str = "赵丽颖,20"; + //定义一个数据工厂String->integer + Function function1 = s-> Integer.parseInt(s.split(",")[1]); + //定义一个数据工厂integer->integer + Function function2 = i->i+100; + + Integer result = function1.andThen(function2).apply(str); + System.out.println(result); } }