Java 8 lambda predicate chaining?

前端 未结 6 1691
渐次进展
渐次进展 2020-12-08 19:30

I can\'t get it to compile, is it even possible to chain predicate lambdas?

Arrays.asList(\"1\",\"2\",\"3\").stream().filter( (e -> e==\"1\" ).or(e-> e         


        
6条回答
  •  旧巷少年郎
    2020-12-08 19:54

    Arrays.asList("1","2","3").stream().filter( Arrays.asList("1", "2")::contains).count();
    

    and yes method "either" is good idea

        public static void main(String[] args) {
            long count = Arrays.asList("1","2","3").stream().filter(either("1"::equals).or("2"::equals)).count();
            System.out.println(count);
        }
    
        private static  Predicate either(Predicate predicate) {
            return predicate;
        }
    

    or you can use import static java.util.function.Predicate.isEqual; and write isEqual("1").or(isEqual("2"))

提交回复
热议问题