Есть ли переменная-заполнитель по умолчанию для lambdas в java8, например _
для 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<Person> people = Arrays.asList(new Person("Jack", 35), new Person("Arjun", 16), new Person("Sasha", 13), new Person("Sara", 8));
List<Person> teens = people.stream()
.filter(p -> (p.getAge() >= 13 && p.getAge() <= 19))
.collect(Collectors.toList());
Есть ли способ написать фильтр в последней строке без определения переменной p
. Очевидно, это не большая проблема, а просто любопытная. Я также понимаю, что я мог бы написать метод в классе Person, например isTeenager
, и передать его лямбда, но это не так. Просто хочу знать, есть ли переменная-заполнитель по умолчанию для lambdas в java8.