java lamda表达式

 lamda的语法:

  • 以逗号分隔,以()关闭的形参:(o1, o2)
  • 箭头标记:->
  • 主体部分则是一个单表达式或者声明代码块。如下是单表达式形式:Integer.compare(m.getWeight(), n.getWeight())

大致就是(参数x1,x2.....xn)--> { 代码块 }    

使用场景1:用lambda表达式实现Runnable

//java1.8之前
new Thread(new Runnable() {
    @Override
    public void run() {
    System.out.println("Before Java8, too much code for too little to do");
    }
}).start();

//java 1.8之后

new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();

使用场景2: lambda表达式进行事件处理

JButton show =  new JButton("Show");
show.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    System.out.println("Event handling without lambda expression is boring");
    }
});

// Java 8方式:
show.addActionListener((e) -> {
    System.out.println("Light, Camera, Action !! Lambda expressions Rocks");
});

 使用场景3:forEach 的使用

List<Person> personList = new ArrayList<>();
personList.add(new Person("yang","cai"));
personList.add(new Person("yang","fen"));
personList.add(new Person("yang","feng"));
//java 1.8之前
for(Person p : personList){ System.out.println(p.getFirstName() }
//java 1.8
personList.forEach(x->System.out.println(x.getFirstName()));

使用场景4:Supplier,Predicate,Comparator,Function,Consumer等接口的使用,见java函数式编程之五个基本接口 

使用场景5:在Java stream中的使用,其实也是场景4的使用,下一节讲 java stream学习讲到

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值