Lambda表达的基本用法:
程序员文章站
2022-04-15 18:57:46
语法格式1:没有参数,也没有返回值() -> System.out.println(“Hello Lambda”);语法格式2:有一个参数,没有返回值(x) -> System.out.println(x * x);说明:如果只有一个参数,那么小括号可以省略语法格式3:有多个参数,没有返回值,格式和语法格式2相同(x, y) -> System.out.println(x + y);语法格式4:接口中需要重写的方法,方法内容有多句,需要给多句话加上大括号(x, y) -&g...
语法格式1:没有参数,也没有返回值
() -> System.out.println(“Hello Lambda”);
语法格式2:有一个参数,没有返回值
(x) -> System.out.println(x * x);
说明:如果只有一个参数,那么小括号可以省略
语法格式3:有多个参数,没有返回值,格式和语法格式2相同
(x, y) -> System.out.println(x + y);
语法格式4:接口中需要重写的方法,方法内容有多句,需要给多句话加上大括号
(x, y) -> {int result = x + y; return result;}
注意事项:如果Lambda体中语句只有一句,那么大括号可以省略不写;如果大括号中只有一条语句,并且是return语句,那么return关键字也可以省略不写(如果要省略return关键字,就必须省略大括号)
例如:(x, y) -> x + y
package test;
public class Demo03 {
public static void main(String[] args) {
//匿名内部类 无参无返回值类型
Inter1 it = new Inter1() {
public void sayHello() {
System.out.println("匿名内部类实现Inter1");
}
};
it.sayHello();
//匿名内部类 有参有返回值类型
Inter2 it2 = new Inter2() {
public int add(int x, int y) {
return x+y;
}};
System.out.print("匿名内部类实现Inter2: ");
System.out.println(it2.add(4, 5));
//匿名内部类 有参无返回值类型
Inter3 it3 = new Inter3() {
@Override
public void sayHello(String str) {
System.out.println("匿名内部类实现Inter3 hello :"+str);
}};
it3.sayHello("张三");
//lambada 表达式 无参无返回值类型
Inter1 h = ()->System.out.println("lambda表达式实现的Inter1");
h.sayHello();
//lambada 表达式 有参有返回值类型
Inter2 h2 =(x,y)->x+y;
int x =h2.add(4, 5);
System.out.println("lambda表达式实现的Inter2: "+x);
//lambada 表达式 有参无返回值类型
Inter3 h3 = (name)->System.out.println("lambda表达式实现的Inter3 hello :"+name);
h3.sayHello("李四");
}
}
interface Inter1{
void sayHello();
}
interface Inter2{
int add(int x,int y);
}
interface Inter3{
void sayHello(String str);
}
本文地址:https://blog.csdn.net/stop_here_find/article/details/109648138