From 59a3c1f0c8d9c791f5d9ade74ab5ff10ca3810e8 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 8 Aug 2026 11:47:34 +0800 Subject: [PATCH] =?UTF-8?q?s-day07-=E5=B8=B8=E7=94=A8=E7=9A=84=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=BC=8F=E6=8E=A5=E5=8F=A3=5FConsumer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/functional_consumer03/Demo05.java | 34 +++++++++++++++++++ .../functional_consumer03/MyInterface1.java | 6 ++++ .../functional_consumer03/MyInterface2.java | 6 ++++ .../functional_consumer03/MyInterface3.java | 8 +++++ .../inmind/functional_interface02/Demo05.java | 4 --- 5 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 s-day07/src/com/inmind/functional_consumer03/Demo05.java create mode 100644 s-day07/src/com/inmind/functional_consumer03/MyInterface1.java create mode 100644 s-day07/src/com/inmind/functional_consumer03/MyInterface2.java create mode 100644 s-day07/src/com/inmind/functional_consumer03/MyInterface3.java delete mode 100644 s-day07/src/com/inmind/functional_interface02/Demo05.java diff --git a/s-day07/src/com/inmind/functional_consumer03/Demo05.java b/s-day07/src/com/inmind/functional_consumer03/Demo05.java new file mode 100644 index 0000000..1e75d64 --- /dev/null +++ b/s-day07/src/com/inmind/functional_consumer03/Demo05.java @@ -0,0 +1,34 @@ +package com.inmind.functional_consumer03; + +import java.util.function.Consumer; + +/* + 在jdk1.8之后,java提供了一些常用的函数式接口供开发人员直接使用. + + 常用的函数式接口_Consumer + Interface Consumer + 抽象方法: + void accept(T t) 对给定的参数执行此操作。 + + 注意: + 1.Consumer表示一个消费者.只接受一个参数,没有返回值. + 2.什么时候要使用Consumer接口?? + 当我们开发人员想自定义一个函数式接口,并且该接口中要定义一个接收一个参数,没有返回值的方法 + + 需求:定义出一个使用常用函数式接口的方法,并对字符串进行消费操作(大写打印,小写打印) + */ +public class Demo05 { + + public static void main(String[] args) { + //1.大写打印(lambda全写形式) + printString((String s)->{ + System.out.println(s.toUpperCase()); + },"aBcD"); + //2.小写打印(lambda省略形式) + printString(s-> System.out.println(s.toLowerCase()),"aBcD"); + } + + public static void printString(Consumer consumer, String s) { + consumer.accept(s); + } +} diff --git a/s-day07/src/com/inmind/functional_consumer03/MyInterface1.java b/s-day07/src/com/inmind/functional_consumer03/MyInterface1.java new file mode 100644 index 0000000..6b492fd --- /dev/null +++ b/s-day07/src/com/inmind/functional_consumer03/MyInterface1.java @@ -0,0 +1,6 @@ +package com.inmind.functional_consumer03; + +@FunctionalInterface +public interface MyInterface1 { + void accept(String s); +} diff --git a/s-day07/src/com/inmind/functional_consumer03/MyInterface2.java b/s-day07/src/com/inmind/functional_consumer03/MyInterface2.java new file mode 100644 index 0000000..74a6c45 --- /dev/null +++ b/s-day07/src/com/inmind/functional_consumer03/MyInterface2.java @@ -0,0 +1,6 @@ +package com.inmind.functional_consumer03; + +@FunctionalInterface +public interface MyInterface2 { + void accept(Integer i); +} diff --git a/s-day07/src/com/inmind/functional_consumer03/MyInterface3.java b/s-day07/src/com/inmind/functional_consumer03/MyInterface3.java new file mode 100644 index 0000000..6389b61 --- /dev/null +++ b/s-day07/src/com/inmind/functional_consumer03/MyInterface3.java @@ -0,0 +1,8 @@ +package com.inmind.functional_consumer03; + +import com.inmind.lambda01.Student; + +@FunctionalInterface +public interface MyInterface3 { + void accept(Student s); +} diff --git a/s-day07/src/com/inmind/functional_interface02/Demo05.java b/s-day07/src/com/inmind/functional_interface02/Demo05.java deleted file mode 100644 index a50283c..0000000 --- a/s-day07/src/com/inmind/functional_interface02/Demo05.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.inmind.functional_interface02; - -public class Demo05 { -}