Lambda表达式

Lambda表达式

函数式接口

  1. 任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口
  2. 对于函数式接口,我们可以通过lambda表达式来创建该接口的对象

内部类及Lambda表达式实现代码:

package com.lambda;
/**
* 推导lambda表达式
*/
public class LambdaTest01 {
//3、静态内部类
static class Like2 implements ILike {
@Override
public void lambda() {
System.out.println("I like lambda2!!!");
}
}
public static void main(String[] args) {
ILike like = new Like();
like.lambda();
like = new Like2();
like.lambda();
//4、局部内部类
class Like3 implements ILike {
@Override
public void lambda() {
System.out.println("I like lambda3!!!");
}
}
like = new Like3();
like.lambda();
//5、匿名内部类
like = new ILike() {
@Override
public void lambda() {
System.out.println("I like lambda4!!!");
}
};
like.lambda();
//6、用lambda简化
like = () -> {
System.out.println("I like lambda5!!!");
};
like.lambda();
}
}
//1、定义一个函数式接口
interface ILike {
void lambda();
}
//2、实现类
class Like implements ILike {
@Override
public void lambda() {
System.out.println("I like lambda!!!");
}
}

带参数的lambda的实现及简化

package com.lambda;
public class LambdaTest02 {
//静态内部类
static class Love implements ILove {
@Override
public void love(int a) {
System.out.println("I Love You -->" + a);
}
}
public static void main(String[] args) {
//ILove love = new Love();
//love.love(1);
//Lambda
ILove love = (int a) -> {
System.out.println("I Love You -->" + a);
};
love.love(100);
//简化1:去掉参数类型
love = (a) -> {
System.out.println("I Love You -->" + a);
};
love.love(101);
//简化2:去掉括号
love = a -> {
System.out.println("I Love You -->" + a);
};
love.love(102);
//简化3:去掉大括号:注意!输出只有一行的情况下
love = a -> System.out.println("I Love You -->" + a);
love.love(103);
}
}
interface ILove {
void love(int a);
}
class Love implements ILove {
@Override
public void love(int a) {
System.out.println("I Love You -->" + a);
}
}
posted @   每年桃花开的时候  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示