Lambda表达式

Lambda表达式

允许把函数作为一个方法的参数(函数作为参数传递到方法中去)


文章目录

  • Lambda表达式
  • 一、形式
  • 二、实际应用
  • 总结


一、形式

(参数)->{代码}
可选类型声明:不需要声明参数类型,编译器可以统一识别参数。
可选参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号
可选 的大括号:如果主体包含了一个语句,就不需要使用大括号
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定声明表达式返回了一个数值。
代码如下(示例):

new Thread(()->{
     
            
        },"A").start();

二、实际应用

代码如下(示例):传统的买票方法

public class Lambda {
     
    public static void main(String[] args){
     
        Ticket ticket = new Ticket() ;
        //lambda表达式:(参数)->{代码}
        new Thread(()->{
     
            for(int i=0;i<60;i++){
     
                ticket.sale();
            }
        },"A").start();
        new Thread(()->{
     
            for(int i=0;i<60;i++){
     
                ticket.sale();
            }
        },"B").start();
        new Thread(()->{
     
            for(int i=0;i<60;i++){
     
                ticket.sale();
            }
        },"C").start();

    }
}
class Ticket{
     
    private int number = 50;
    public synchronized void sale(){
     
        if(number>0){
     
            System.out.println(Thread.currentThread().getName()+"卖出了"+(number--)+"票剩余"+number);

        }
    }

}

总结

lamdba表达式是Java1.8的新特性,以上只是简单的语法格式,还未深入了解!!!

你可能感兴趣的:(Lambda表达式)