public static void main(String[] args) { /** * 四大函数是接口 * */ // 函数接口 Function<String,Integer> function=new Function<String, Integer>() { @Override public Integer apply(String s) { return s.length(); } }; Function<String,Integer> function1=(String str)->{ return str.length(); }; System.out.println(function.apply("aaa")); // 断定型接口,布尔型接口 Predicate<String> predicate=new Predicate<String>() { @Override public boolean test(String s) { return s.isEmpty(); } }; Predicate<String> predicate1=(String str)->{ return str.isEmpty(); }; System.out.println(predicate1.test("a")); // 消费型接口 ,没有返回值 Consumer<String> consumer=new Consumer<String>() { @Override public void accept(String s) { System.out.println("s = " + s); } }; Consumer<String> consumer1=(str)->{ System.out.println("str = " + str); }; consumer1.accept("java i love you!"); // 供给型接口,没有输入,但是有返回值 Supplier<String> supplier=new Supplier<String>() { @Override public String get() { return "supplier"; } }; Supplier<String> supplier1=()->{ return "supplier";}; supplier1.get(); } public String getUser(List<User> list) { List<User> res=new ArrayList<>(); for (User user : list) { if (user.getId() % 2 == 0 && user.getAge() > 24) { user.setUserName(user.getUserName().toUpperCase(Locale.ROOT)); res.add(user); } } return res.get(res.size()-1).getUserName(); }
原文:https://www.cnblogs.com/zzhAylm/p/14864651.html