Lambda 表达式主要应用在一个方法需要带一个接口类型,而且接口只有一个抽象方法时,在创建匿名内部类时一些固定的可推导不可变的代码,使用一种比较简单的语法来表示,由编译器自由推导出来
语法: 覆盖方法的参数列表...,但是这里new Comparator() 是固定的,需要覆盖的接口方法compare 也是固定,返回值int也是固定,这些固定的东西实际上是可以推导出来,所有可以使用lambda表达式来简化操作....对象,所以参数的 User 类型也是可以推导出来的,而当方法体只有一行代码时可以省略{},方法的返回值就是方法体也可以省略return.代码如下
Arrays.sort(users, (o1, o2)...: 参数列表->表达式(方法体)
不带参数
被覆盖方法没有参数使用 () 来表示参数列表,不可省略()
new Thread(() -> System.out.println("hello lambda...Lambda 表达式表示的是被覆盖的方法的执行体,分以下两种请求
方法体只有一行代码,
如果方法体只有一行代码,可以省略{},如果省略了{}.不管是否需要返回值都不能加return由编译器自行推导出来