Java中的Predicate接口是一个函数式接口,它接受一个参数并返回一个布尔值。Predicate通常用于以下场景:
List<Person> adults = people.stream()
.filter(person -> person.getAge() > 18)
.collect(Collectors.toList());
Predicate<Person> isAdult = person -> person.getAge() > 18;
boolean result = isAdult.test(person);
Predicate<Person> namePredicate = person -> person.getName().startsWith("A");
Predicate<Person> agePredicate = person -> person.getAge() > 18;
List<Person> result = people.stream()
.filter(namePredicate.or(agePredicate))
.collect(Collectors.toList());
List<Person> sortedByAge = people.stream()
.sorted(Comparator.comparingInt(Person::getAge))
.collect(Collectors.toList());
Map<Boolean, List<Person>> groupedByGender = people.stream()
.collect(Collectors.partitioningBy(person -> person.getGender()));
总之,Predicate接口在Java中有很多实用场景,可以帮助你编写更加简洁、模块化和可重用的代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。