浅谈lambda表达式

简介: 浅谈lambda表达式

1 引言

本次将介绍在Java中的lambda表达式。这对于在bootadmin项目的lambda函数仍然适用。

2 问题

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。这对于与Java有关的项目同样适用。

3 方法

lambda表达式的重要特征有以下几个:1. 可选类型声明2. 可选的参数圆括号3. 可选的大括号4. 可选的返回关键字

这是lambda函数的几个较为常见的例子:

1.不需要参数,返回值为hello

( ) -> “hello”;

2.接受一个参数(int) ,返回值为以参数为半径的圆(调用Math类)

(int a)-> java.lang.Math.PI * a * a;

3.参加两个参数,(int),返回值为和值

(int a,int b)-> a + b;

4 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

interface MathOperation{
   int Operation (int a, int b);
}
interface GreetingServer{
   void print(String message);
}
public class lambda {
   public static void main(String[] args) {
       MathOperation add  = (int a , int b) -> a + b;
       MathOperation odd = (int a, int b ) -> a - b;
       MathOperation multiplication = (int a, int b)->a * b;
       GreetingServer printInfo = Info ->System.out.println(Info);
       printInfo.print("10 + 6 ="+ add.Operation(10,6 ));
       printInfo.print("10 - 6 =" +odd.Operation(10,6));
       printInfo.print("10 * 6 ="+multiplication.Operation(10,6));
   }
}

5 结语

使用lambda需要注意:

1.Lambda 表达式当中不允许声明一个与局部变量同名的参数或者局部变量。

2. lambda 表达式的局部变量可以不用声明为 final,但是必须不可被后面的代码修改。


目录
相关文章
|
编译器
C++11 lambda表达式(上)
C++11 lambda表达式
67 0
|
2月前
|
安全 Java Serverless
Lambda表达式使用及详解
Java 8引入的Lambda表达式是一种重要的功能,它允许你以更简洁、更直接的方式传递方法。Lambda可以被用来代替只有单个抽象方法的接口的匿名实现类。这里有一些Lambda表达式的实际应用场景及其示例:
|
5月前
|
算法 编译器 C++
C++一分钟之—Lambda表达式初探
【6月更文挑战第22天】C++的Lambda表达式是匿名函数的快捷方式,增强函数式编程能力。基本语法:`[capture](params) -> ret_type { body }`。例如,简单的加法lambda:`[](int a, int b) { return a + b; }`。Lambda可用于捕获外部变量(值/引用),作为函数参数,如在`std::sort`中定制比较。注意点包括正确使用捕获列表、`mutable`关键字和返回类型推导。通过实践和理解这些概念,可以写出更简洁高效的C++代码。
54 13
|
6月前
|
Java 编译器
Lambda表达式
Lambda表达式
34 0
|
6月前
|
算法 编译器 C++
C++中的lambda表达式
C++中的lambda表达式
32 0
|
6月前
|
并行计算 Java 编译器
Lambda表达式超详解
Lambda表达式超详解
|
算法 搜索推荐 编译器
C++11:lambda表达式
C++11:lambda表达式
42 0
|
Java
Lambda表达式的实际情况和应用
Lambda表达式是Java 8引入的一个重要特性,它提供了一种简洁而强大的方式来表示匿名函数。Lambda表达式可以用于各种情况和应用,包括但不限于以下几个方面:
77 0
|
存储 算法 编译器
lambda表达式的介绍
lambda表达式的介绍
114 0
|
搜索推荐 Java
Lambda表达式详解
Lambda表达式详解