lambda表达式
【小城贝尔·】
线程敲打lambda,匿名类中来简化。
参数依旧括号 下,一只神箭向后插。
参数类型能简化 ,单个数据省外夹。
一行代码身体中 ,连同返回都可空。
public class LambadaDemo {
public static void main(String[] args) {
//使用匿名类
Like like = new Like() {
@Override
public int add(int a) {
return a +5;
}
};
int add = like.add(5);// add ; 10
System.out.println("add ; "+add);
//使用lambda表达式
Like like1 = (c)->c+22;
int add1 = like1.add(10);// add1 ; 32
System.out.println("add1 ; "+add1);
//省略小括号 一个参数才可以
Like like2 = b->b+100;
int add2 = like2.add(300);//add2 : 400
System.out.println("add2 : "+add2);
}
}
interface Like {
int add(int a);
}
使用lambda简化线程的写法
class LambdaThread{
public static void main(String[] args)throws Exception {
//匿名类实现的新的线程
new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0 ;i < 100;i ++){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("一边写听歌======》" + i);
}
}
}).start();
//使用lambda实现新的线程
new Thread(()->{
for(int i = 0 ;i < 100;i ++){
System.out.println("一边学习lambda======》" + i);
}
}).start();
//主线程
for(int i = 0 ;i < 100;i ++){
Thread.sleep(500);
System.out.println("一边写代码======》" + i);
}
}
}