lambda是jdk8的一个新特性是对代码的一种简化
public static void main(String[] args) {
SystemServcieIplm systemServcie = new SystemServcieIplm();-------通过创建对象的形式
systemServcie.logout();
SystemService systemService2 = new SystemService() {
@Override
public void logout() { -----------匿名内部类的形式
System.out.println("匿名内部类");
}
};
systemService2.logout();
SystemService systemService3=()->{ ------------lambda表达式的形式之无参
System.out.println("lambda表达式");
};
systemService3.logout();
}
// 含参情况下lambda的写法
Lambda2 lambda2=(int a, int b)->{ return a+b; };--------------含参
//当方法体中只有一句java语句时大括号可以省略
Lambda2 lambda21=(int a,int b)-> a+b;
//lambda表达式可以进行类型的自动推断所以类型也可以省略
Lambda2 lambda22=(a,b)->a+b;
System.out.println(lambda22.sum(100, 200)
);
}
}
interface SystemService{ ----接口
void logout();
}
class SystemServcieIplm implements SystemService{ -----实现类
@Override
public void logout() {
System.out.println("系统已经安全退出");
}
interface Lambda2{
int sum(int a, int b); }
}
------------------------------------------------------;lambda表达式之遍历集合
public class LambdaList {
public static void main(String[] args) {
List<String> list=new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
list.forEach((s) -> {
System.out.println(s);
});
}
}