lambda表达式

lambda表达式是一个匿名函数,我们可以把 Lambda 表达式理解为是 一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 但是在java中,是没有函数这个概念的。另外,依旧Java“万事万物皆对象”思想,java将lambda表达式做为一个接口(函数式接口,下面会说明)的实例。 首先,我们来感受下…

方法引用与构造器引用

方法引用 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用。 方法引用可以看做是Lambda表达式深层次的表达。换句话说,方法引用就是Lambda表达式。所以方法引用也是函数式接口的一个实例。通过方法的名字来指向一个方法,可以认为是Lambda表达式的一个语法糖。 要求:实现接口的抽象方法的参数列表和返回值类型,必须与方法引用的方法的参数列表和返回值类型保持一致。 语法格式:类…

lambda变量作用域

访问外围变量 lambda表达式可以捕获外围作用域中变量的值。 var str1 = "hello"; var str2 = "java"; testConsumer(str1, str-> System.out.println(str + " " + str2) ); 但在lambda表示式中,不能修改外围变量的值。下面的做法是不…