Lambda 内置四大核心函数接口 ---Predicate 断言型接口 用于判断

    科技2025-02-16  15

     

    package com.lm; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util.function.Predicate; /** * * Consumer<T>  :消费型接口 * void  accept(T t) : * * Supplier <T> : 供给型接口 * T get(); * * Function<T,R> :函数型接口 * R apply(T t); * * Predicate<T> : 断言型接口 * boolean test(T t) * */ public class TestLambda13 { @Test public void test1() { List<String> list = Arrays.asList("Hello","aaa","bbbb","cccc"); List<String> newList = filterStr(list,(s)-> s.length() >3); for (String s : newList) { System.out.println(s); } } //需求: 用于处理字符串,将满足字符串放入集合中 //Predicate<T> : 断言型接口 用于判断 public List<String> filterStr(List<String> list, Predicate<String> pre){ List<String> strList = new ArrayList<>(); for (String s : list) { if(pre.test(s)){ //至于具体什么过滤条件,使用时再指定,比如字符串长度大于3的 strList.add(s); } } return strList; } }

     

    Processed: 0.029, SQL: 8