多线程_06_lambda推导

本文深入探讨了Lambda表达式的多种应用场景,包括简化线程使用、参数传递及返回值处理等,通过实例展示了如何利用Lambda表达式提高代码效率和可读性。

lambda表达式:简化线程(用一次)的使用
lambdaj表达式在jdbk8以后才能用
在这里插入图片描述
看代码

package com.cb.thread;
/*
 * lambda推导
 */

public class lambdaTest01 {
	//2.内部类
	static class Like2 implements ILike{

		@Override
		public void lambda() {
			System.out.println("i like lambda2");
		}
		
	}
	public static void main(String[] args) {
		//1.
		ILike like = new Like();
		like.lambda();
		//2
		like = new Like2();
		like.lambda();
		
		//3.方法内部类
		class Like3 implements ILike{

			@Override
			public void lambda() {
				System.out.println("i like lambda3");
			}
			
		}
		like = new Like3();
		like.lambda();
		
		//4 匿名内部类
		like = new  ILike() {
			@Override
			public void lambda() {
				System.out.println("i like lambda4");
			}
		};
		like.lambda();
		//5.lambda  如果接口有两个方法就不能用
		/*like = ()->{
					System.out.println("i like lambda5");	
			
		};*/
		//这样的不行,没有类型
		/*()->{
			System.out.println("i like lambda5");	
	
		}*/
	}
}
interface ILike{
	void lambda();
}
//外部类
class Like implements ILike{

	@Override
	public void lambda() {
		System.out.println("i like lambda");
	}
	
}


第二个例子

package com.cb.thread;
/*
 * lambda推导 +参数
 */

public class lambdaTest02 {
	//2.内部类
	static class Love2 implements ILove{

		@Override
		public void lambda(int a ) {
			System.out.println(" i like2 lambda"+"-->"+a);
		}
		
	}
	public static void main(String[] args) {
		// 1)
		/*ILove love = (int a)->{
			System.out.println("i like lambda"+"-->"+a);
		};
		love.lambda(100);*/
		//	2)
		/*ILove love = (a)->{
		System.out.println("i like lambda"+"-->"+a);
		};
		love.lambda(50);*/
		//	3)
		/*love = a->{
			System.out.println("i like lambda"+"-->"+a);
		};
		love.lambda(5);*/
		//	4)
		/*love = a->System.out.println("i like lambda"+"-->"+a);
		love.lambda(0);
		*/
		
		
	}
	interface ILove{
		void lambda(int a );
	}
//外部类
	class Love1 implements ILove{

		@Override
		public void lambda(int a ) {
			System.out.println("i like lambda"+"-->"+a);
		}
	
	}


}


第三个例子

package com.cb.thread;
/*
 * lambda推导 +参数+返回值的
 */

public class lambdaTest03 {
	//2.内部类
	static class Love2 implements ILove{

		@Override
		public int lambda(int a,int b ) {
			System.out.println(" i like2 lambda"+"-->"+a);
			return a+b;
		}
		
	}
	public static void main(String[] args) {
		/*ILove love = lambda(int a,int b)-> {
			System.out.println(a);
			return a+b;
		};
		love.lambda(10, 20);*/
		
		//简化
		/* love = ( a, b)-> {
		System.out.println(a);
			return a+b;
		};
		love.lambda(30, 40);*/
		
		
	}
	interface ILove{
		int lambda(int a,int b);
	}
//外部类
	class Love1 implements ILove{

		@Override
		public int lambda(int a,int b) {
			System.out.println(a);
			return a+b;
		}
	
	}


}


第四个例子

package com.cb.thread;
/*
 * Lambda表达式 简化线程(用一次)的使用
 */

public class LambtdaThread {
	//1.静态内部类(提升性能,如果不用就不会编译)
	static class Test implements Runnable{
		@Override
		public void run() {
			for (int i = 0; i < 20; i++) {
				System.out.println("一边听歌");
			}
			
		}
	}
	

	
	public static void main(String[] args) {
		
		
		//new Thread(new Test()).start();
		
		//2.局部内部类(也就是方法里面的类)
		class Test2 implements Runnable{
			@Override
			public void run() {
				for (int i = 0; i < 20; i++) {
					System.out.println("一边听歌");
				}
				
			}
		}
		new Thread(new Test2()).start();
		
		//3.匿名内部类   必须借助接口或者父类
		new Thread(new Runnable() {
			@Override
			//方法体
			public void run() {
				for (int i = 0; i < 20; i++) {
					System.out.println("一边听歌");
				}
			}
			
		}).start();
		
		//4.jdk8 简化 lambda (只能一个方法,多个方法不能推导)
		/*new Thread(()-> {
				for (int i = 0; i < 20; i++) {
					System.out.println("一边听歌");
				}	
		}).start();*/ 

	}
	

}

第五个例子

package com.cb.thread;
/*
 *  lambda推导  :多行语句不能省略
 */
public class lambdaTest04  {
	
	
	public static void main(String[] args) {
		/*new Thread(()->{
			for (int i = 0; i < 10; i++) {
				System.out.println("一边学习lambda");
			}
		}).start();
		//简化
		new Thread(()->	System.out.println("一边崩溃")).start();
		*/
	}
	
}

看不懂看这个视频 lambda视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值