关于lamda表达式
关于lamda 的解释
1、定义一个函数式接口
2、实现类
3、将实现类变为静态内部类,类中类
4、将静态内部类变为局部内部类,及方法中的类
5、将静态内部类变为匿名内部类,直接实现接口并重写其中的方法
//5匿名内部类 没有类的名称,必须借助接口或者父类
like =new Like() {
@Override
public void lamda() {
System.out.println("i like5 ");
}
};
like.lamda();
//1定义一个函数式接口
interface Like{
void lamda();
}
6、再次简化,将接口内的方法直接实现,不需要接口了
//6lamda简化
like =()-> {
System.out.println("i like6 ");
};
like.lamda();
}
7、带参数的lamda表达式简化可以省略lamda参数的返回值信息
//1、可以去掉参数的类型
love=(a)->{
System.out.println(a);
};
//2去掉括号
love=a->{
System.out.println(a+"333");
};
//3去掉大括号
love=(a,b)-> System.out.println("3334444");
love.love(33,4);
}
//lamda表达式只有一行的话可以进行最终简化,多行的用代码块
//前提是必须是函数式接口,即在接口内只有一个方法的接口
//多个参数可以,但需要括号
浙公网安备 33010602011771号