Lambda 表达式

Lambda表达式实际上就是一个接口的实现。这个接口必须只有一个需要实现的方法,一般称这个接口为函数式接口。当这个接口被使用的次数非常少的时候,我们就可以使用Lambda表达式来实现。这样有利于简化代码。

package Thread;

/**
 * Lambda 表达式
 * 
 * @author zhaoy
 *
 */
public class Test05_Lambda {
	public static void main(String[] args) {
		// 多行代码
		new Thread(() -> {
			for (int i = 0; i < 50; i++) {
				System.out.println("看书");
			}
		}).start();
		// 只有一行代码
		new Thread(() -> System.out.println("种树")).start();
		for (int i = 0; i < 50; i++) {
			System.out.println("看电影");
		}
		// 只有一个形参
		fa f1 = (int a) -> {
			System.out.println("Lambda表达式只有一个形参!" + a);
		};
		f1.one(1);
		// 可以省略形参类型,会自动匹配
		fa f2 = (a) -> {
			System.out.println("Lambda表达式只有一个形参!" + a);
		};
		f2.one(2);
		// 当只有一个形参时,也可以省略()
		fa f3 = a -> {
			System.out.println("Lambda表达式只有一个形参!" + a);
		};
		f3.one(3);
		// 两个或两个以上的形参
		mo m1 = (int a, int b) -> {
			System.out.println("Lambda表达式有多个形参!" + a + "-" + b);
		};
		m1.one(1, 2);
		// 两个或两个以上的形参,也可以省略参数类型
		mo m2 = (a, b) -> {
			System.out.println("Lambda表达式有多个形参!" + a + "-" + b);
		};
		m2.one(3, 4);
		// 有返回值
		par par1 = (a, b) -> {
			return a + b;
		};
		int sum = par1.one(2, 4);
		System.out.println("Lambda表达式有返回值!" + sum);
	}
}

interface fa {
	void one(int a);
}

interface mo {
	void one(int a, int b);
}

interface par {
	public abstract int one(int a, int b);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值