在这篇文章中,将演示各种示例,以了解Lambda表达式的强大功能。 Lambda表达式是在Java SE 8中引入的,因此我们需要安装java 8或更高版本来编译和运行以下示例。
示例#1
在这个例子中,我们将执行加法,减法,乘法和除法等算术运算。
文件:LambdaExample1.java -
package com.yiibai.tutorial.lambda;
/**
* @author yiibai
*/
/**
* Functional Interface
*/
interface Arithmetic {
int operation(int a, int b);
}
public class LambdaExample1 {
public static void main(String[] args) {
// Addition using Lambda expression
Arithmetic addition = (int a, int b) -> (a + b);
// Arithmetic addition = (int a, int b) -> {return a + b;};
System.out.println("Addition = " + addition.operation(5, 6));
// Subtraction using Lambda expression
Arithmetic subtraction = (int a, int b) -> (a - b);
// Arithmetic addition = (int a, int b) -> {return a - b;};
System.out.println("Subtraction = " + subtraction.operation(5, 3));
// Multiplication using Lambda expression
Arithmetic multiplication = (int a, int b) -> (a * b);
// Arithmetic addition = (int a, int b) -> {return a * b;};
System.out.println("Multiplication = " + multiplication.operation(4, 6));
// Division using Lambda expression
Arithmetic division = (int a, int b) -> (a / b);
// Arithmetic addition = (int a, int b) -> {return a * b;};
System.out.println("Division = " + division.operation(12, 6));
}
}
执行上面示例代码,得到以下结果:
Addition = 11
Subtraction = 2
Multiplication = 24
Division = 2
示例#2
一个简单的Java Lambda程序,用于检查给定的数字是偶数还是奇数。
文件:LambdaExample2 .java -
package com.yiibai.tutorial.lambda;
/**
* @author yiibai
*/
/**
* Functional Interface
*/
interface EvenOdd {
void check(int a);
}
public class LambdaExample2 {
public static void main(String[] args) {
// Lambda Expression
EvenOdd evenOdd = (int a) -> {
if(a%2==0){
System.out.println("Number "+a+" is even.");
}else{
System.out.println("Number "+a+" is odd.");
}
};
//Check numbers
evenOdd.check(5);
evenOdd.check(8);
}
}
执行上面示例代码,得到以下结果:
Number 5 is odd.
Number 8 is even.
示例#3
用于计算圆的面积的Java Lambda程序。
文件:LambdaExample3.java -
package com.yiibai.tutorial.lambda;
/**
* @author yiibai
*/
/**
* Functional Interface
*/
interface Circle {
double area(double r);
}
public class LambdaExample3 {
public static void main(String[] args) {
// Lambda Expression
Circle circle=(double r)-> (Math.PI*r*r);
//Print area of circle
System.out.println("Area of Circle = "+circle.area(5));
}
}
执行上面示例代码,得到以下结果:
Area of Circle = 78.53981633974483