add lambda

This commit is contained in:
many2many 2024-10-23 10:46:53 +08:00
parent 8364c2fa3b
commit ea0b8098f3

View File

@ -85,11 +85,120 @@ public @interface 注解名称{
- 使用注解: 在代码中应用注解。 - 使用注解: 在代码中应用注解。
- 读取注解: 通过反射或其他机制读取并处理注解。 - 读取注解: 通过反射或其他机制读取并处理注解。
#### 5.1.3 `Lambda`表达式(掌握)
Lambda 表达式是 Java 8 引入的一个重要特性它允许你以简洁的语法编写匿名函数。Lambda 表达式主要用于实现单个抽象方法的接口这些接口通常被称为函数式接口Functional Interface。以下是 Java 中 Lambda 表达式的简单教程:
##### 函数式接口Functional Interface
函数式接口只有一个抽象方法的接口。为了声明一个函数式接口,你可以使用 `@FunctionalInterface` 注解,这样可以确保接口只有一个抽象方法。
```java
@FunctionalInterface
public interface SimpleFunctionalInterface {
void doSomething();
}
```
##### Lambda 表达式的基本语法
Lambda 表达式的一般语法是:
```java
(parameters) -> expression
或者
(parameters) -> { statements; }
```
- `parameters`:这是参数列表,可以是一个或多个参数,参数类型可以省略。
- `->`:这是 Lambda 操作符,将参数部分与 Lambda 体分开。
- `expression``statements`:这是 Lambda 体,可以是一个表达式或一个代码块。
##### 使用 Lambda 表达式
###### 无参数和无返回值
```java
SimpleFunctionalInterface sfi = () -> System.out.println("Hello Lambda!");
sfi.doSomething(); // 输出 "Hello Lambda!"
```
###### 一个参数和无返回值
```java
@FunctionalInterface
interface Greeting {
void greet(String name);
}
Greeting greet = (String name) -> System.out.println("Hello, " + name);
greet.greet("Kimi"); // 输出 "Hello, Kimi"
```
###### 一个参数和有返回值
```java
@FunctionalInterface
interface Converter {
String convert(String from, String to);
}
Converter converter = (from, to) -> from.toUpperCase() + to.toLowerCase();
System.out.println(converter.convert("Java", "Python")); // 输出 "JAVApython"
```
###### 多个参数和有返回值
```java
@FunctionalInterface
interface Calculator {
int calculate(int a, int b);
}
Calculator add = (a, b) -> a + b;
System.out.println(add.calculate(5, 10)); // 输出 15
```
##### Lambda 表达式与方法引用
如果 Lambda 表达式实现的是一个已有的方法,你可以使用方法引用来简化代码。
###### 静态方法引用
```java
Converter concat = String::concat;
System.out.println(concat.convert("Hello, ", "Kimi")); // 输出 "Hello, KimiHello, "
```
###### 实例方法引用
```java
Converter append = StringBuilder::append;
System.out.println(append.convert("Hello, ", "Kimi")); // 输出 "Hello, Kimi"
```
###### 构造函数引用
```java
Converter toStringBuilder = StringBuilder::new;
System.out.println(toStringBuilder.convert("Hello, ", "Kimi")); // 输出 "Hello, Kimi"
```
##### Lambda 表达式与 Stream API
Lambda 表达式在处理集合时非常有用,特别是与 Java 8 引入的 Stream API 结合使用。
```java
List<String> names = Arrays.asList("Kimi", "Alice", "Bob", "Charlie");
names.stream()
.filter(name -> name.startsWith("A"))
.forEach(System.out::println); // 输出 "Alice"
```
这个简单教程介绍了 Lambda 表达式的基本概念和用法。通过使用 Lambda 表达式,你可以编写更简洁、更易读的代码。
#### 5.1.4 `Optional` 的介绍和使用(掌握)
### 5.1.3 `Optional` 的介绍和使用(了解)
#### 定义 #### 定义
`Optional` 是 Java 8 引入的一个容器类,用于封装可能为 `null` 的值。它的主要目的是帮助开发者避免空指针异常,并提供一种更优雅的方式来处理可能不存在的值。 `Optional` 是 Java 8 引入的一个容器类,用于封装可能为 `null` 的值。它的主要目的是帮助开发者避免空指针异常,并提供一种更优雅的方式来处理可能不存在的值。
@ -168,7 +277,7 @@ public class OptionalExample {
通过使用 `Optional`,开发者可以写出更加健壮和易于维护的代码。 通过使用 `Optional`,开发者可以写出更加健壮和易于维护的代码。
### 5.1.4 Stream API 的介绍和使用(了解) #### 5.1.5 Stream API 的介绍和使用(了解)
#### 定义 #### 定义
Stream API 是 Java 8 引入的新特性,用于处理集合数据。它提供了一种声明式的、函数式风格的数据处理方式,使得处理集合数据变得更加简洁和高效。 Stream API 是 Java 8 引入的新特性,用于处理集合数据。它提供了一种声明式的、函数式风格的数据处理方式,使得处理集合数据变得更加简洁和高效。
@ -240,7 +349,7 @@ public class StreamExample {
通过使用 Stream API开发者可以写出更加高效、简洁且易于维护的代码。这对于处理大量数据集尤其有用同时也提高了代码的可读性和可维护性。 通过使用 Stream API开发者可以写出更加高效、简洁且易于维护的代码。这对于处理大量数据集尤其有用同时也提高了代码的可读性和可维护性。
### 5.1.5 泛型(了解) #### 5.1.6 泛型(了解)
#### 什么是泛型? #### 什么是泛型?
@ -676,9 +785,9 @@ java项目常用的构建工具有
好的,以下是针对 Maven 和 Gradle 的具体使用方法的介绍,以完成你的文档的 5.7.1 和 5.7.2 部分。 好的,以下是针对 Maven 和 Gradle 的具体使用方法的介绍,以完成你的文档的 5.7.1 和 5.7.2 部分。
### 5.7.1 Maven #### 5.7.1 Maven
#### 5.7.1.1 独立Maven ##### 5.7.1.1 独立Maven
##### 安装 Maven ##### 安装 Maven
@ -714,7 +823,7 @@ cd path/to/your/project
mvn clean package mvn clean package
mvn package mvn package
``` ```
#### 5.7.1.2 在IDEA使用Maven ##### 5.7.1.2 在IDEA使用Maven
**导入 Maven 项目** **导入 Maven 项目**
* 打开 IntelliJ IDEA * 打开 IntelliJ IDEA
@ -731,9 +840,9 @@ IntelliJ IDEA 自带 Maven 插件,可以使用 Maven 插件来运行测试、
> **访问 Maven 工具窗口:** 在 IntelliJ IDEA 的右侧栏中找到 “Maven” 工具窗口。 如果没有显示,可以通过 “View” > “Tool Windows” > “Maven” 打开。 > **访问 Maven 工具窗口:** 在 IntelliJ IDEA 的右侧栏中找到 “Maven” 工具窗口。 如果没有显示,可以通过 “View” > “Tool Windows” > “Maven” 打开。
### 5.7.2 Gradle #### 5.7.2 Gradle
#### 5.7.2.1 单独 Gradle ##### 5.7.2.1 单独 Gradle
##### 安装 Gradle ##### 安装 Gradle
@ -778,11 +887,11 @@ IntelliJ IDEA 自带 Maven 插件,可以使用 Maven 插件来运行测试、
- **清理项目**: `./gradlew clean` Linux/macOS - **清理项目**: `./gradlew clean` Linux/macOS
- `gradlew.bat clean` Windows - `gradlew.bat clean` Windows
#### 5.7.2.2 IDEA中使用Gradle ##### 5.7.2.2 IDEA中使用Gradle
在 IntelliJ IDEA 中使用 Gradle 同样可以提高开发效率,因为 IDEA 提供了对 Gradle 的深度集成支持。以下是详细的步骤说明如何在 IntelliJ IDEA 中使用 Gradle 在 IntelliJ IDEA 中使用 Gradle 同样可以提高开发效率,因为 IDEA 提供了对 Gradle 的深度集成支持。以下是详细的步骤说明如何在 IntelliJ IDEA 中使用 Gradle
### 5.7.2.2 在 IntelliJ IDEA 中使用 Gradle ##### 5.7.2.3 在 IntelliJ IDEA 中使用 Gradle
#### 创建新的 Gradle 项目 #### 创建新的 Gradle 项目