java 谓词 -- Predicate

谷歌谓词 com.google.common.base.Predicate

提供两个接口


@GwtCompatible
public interface Predicate<T> {
    
    

  @CanIgnoreReturnValue
  boolean apply(@Nullable T input);


  @Override
  boolean equals(@Nullable Object object);
}

写法对比


  public static void main(String[] args) {
    
    
        List<Integer> numbers = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
        numbers.forEach(number->{
    
    
            if ((number % 2) == 0){
    
    
                System.out.println("number = " + number);
            }
        });
        
        // 转换
        Predicate<Integer> predicate = input -> (input % 2) == 0;
        Iterable evenNumbers = Iterables.filter(numbers, predicate);
        evenNumbers.forEach(i-> System.out.println("i = " + i));

        // 转换
        numbers.stream().filter(i->(i % 2) == 0).forEach(filter-> System.out.println("filter = " + filter));


    }


猜你喜欢

转载自blog.csdn.net/weixin_44550490/article/details/131683228