java8中的lambdas有一个默认的变量占位符,像_ scala吗?
这里是scala示例:
case class Person(name:String, age:Int)
val people = List(Person("Jack", 35), Person("Arjun", 16), Person("Sasha", 13), Person("Sara", 8))
val teens = people.filter(_.age >= 13).filter(_.age <= 19)
假设有一个Person类定义,这里是java示例:
List people = Arrays.asList(new Person("Jack", 35), new Person("Arjun", 16), new Person("Sasha", 13), new Person("Sara", 8));
List teens = people.stream()
.filter(p -> (p.getAge() >= 13 && p.getAge() <= 19))
.collect(Collectors.toList());
有没有办法在最后一行编写过滤器,而不定义变量p.显然这不是一个大问题,只是好奇.我也明白,我可以在Person类中写一个方法,如isTeenager,并将其传递给lambda,但这也不是.只是想知道在java8中是否有lambdas的默认变量占位符.