Lambda表达式总结

  1. 接口为函数式接口(只有一个实现的方法)
  2. lambda表达式只能有一行代码实现的情况下才能简化为一行,如果有多行,那么就需要用{}包裹
  3. 参数可以去掉参数类型(统一去掉,或者不去掉)

函数式接口:

// 只有一个实现方法
interface ILike() {
	void lambda();
}

示例代码(lambda表达式实际是匿名内部类的一种写法):

public class TestLambda {
	// 2.静态内部类
	static class Like2 implements ILike {
		public void lambda() {
			System.out.println("static class");
		}
	}
	
	public static void main(String[] args) {
		// 3.局部内部类
		class Like3 implements ILike {
			public voide lambda() {
				System.out.println("local class");
			}
		}
		
		// 4.匿名内部类
		ILike anonymousLike = new ILike {
			public void lambda() {
				System.out.println("anonymous class");
			}
		}
		
		// 5.lambda表达式
		ILike lambdaLike = ()-> {
			System.out.println("love lambda!");
		};
	}
}

// 内部类
class Like implements ILike {
	public void lambda() {
		System.out.print("Inner class");
	}
}

测试输出:

        Like like = new Like();
        like.lambda();

        Like2 like2 = new Like2();
        like2.lambda();

        Like3 like3 = new Like3();
        like3.lambda();

        anonymousLike.lambda();
        lambdaLike.lambda();

结果:

posted @ 2023-04-28 00:47  遥遥领先  阅读(11)  评论(0编辑  收藏  举报