lambda表达式

关于 lambda表达式在java中的使用

Lambda 表达式是 JDK8之后 出现的一个新的用法,合理的运用Lambda 表达式可以简化程序代码,使程序看起来更为简洁。 下面从Lambda 表达式的基本格式入手简单介绍其在java中的使用。
Lambda 表达式的基本格式为(参数) -> {方法体};
lambda方法体中如果方法体语句只有一句,方法体前后的{}可省略:
Num num2 = (a) -> System.out.println(“222”);
lambda表达式如果只有一个参数,参数前后的()可以省略:

Num num3 = a -> System.out.println(“333”);

如果方法体语句只有一句,并且还是return语句,那么方法体前后的{}和return关键字均可省略:
Run run = (a,b) -> {return a+b;};
Run run1 = (a,b) -> a+b;
Lambda 表达式中方法的使用
编译器能根据上下文来推断Lambda表达式的参数的场合,可以在Lambda表达式中省略参数,直接通过“::”符号来引用方法。方法引用的语法格式有以下2中:

第一种方式:objectName::instanceMethod //引用实例方法

第二种方式: ClassName::staticMethod //引用静态方法
下面举例说明:

x-> System.out.println(x) 等同于: System.out::println; //引用实例方法

(x,y)->Math.max(x,y) 等同于: Math::max //引用静态方法

lambda表达式在java中的应用场景

1.用lambda表达式代替内部类
使用lambda表达式代替内部类的前提是 接口中只能有一个必须被重写的抽象方法下面以线程为例
public class Test {
//一、使用匿名内部类
public static void main(String[] args) {
new Thread(new Runnable() {
public void run() {
System.out.println(“内部类实现”);
}
}).start();
//二、使用Lambda表达式
new Thread(()->System.out.println(“使用Lambda表达式实现”)).start();

}

}
2.用lambda表达式遍历List集合
List list = new ArrayList<>();
Collections.addAll(list,new String[]{“Tome”,“Make”,“Jike”,“Honey”});
//传统的List遍历集合
for(String name : list){
System.out.print(name+",");
}
//方式二:使用Lambda表达式
list.forEach((String name)->{ System.out.print(name+","); });
//方式三:在 Java 8 中使用双冒号操作符
list.forEach(System.out::print) ;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值