Flo*_*etz 3 java functional-programming predicate java-8 method-reference
java.util.function.Predicate有一些有用的方法等and,or等,其比创建具有多个逻辑运算符的托架狂欢更简洁.不幸的是,似乎没有办法使用这些函数而没有实际上首先明确地使用谓词...
Predicate<String> predicate = String::isEmpty;
Predicate<String> predicateWithAnd = predicate.and( MyClass::testSomething ); 
有没有办法只在一个语句中创建第二谓词(因此"保存"变量),如...
Predicate<String> predicateWithAnd = (String::isEmpty).and( MyClass::testSomething );  // That doesn't seem to work ;-)
只是好奇...
是的,你需要在Predicate类型上施放lambda,其中T是你的类型.Person类的示例.
Predicate<Person> a = ((Predicate<Person>)p -> p.getId() > 2)
                                     .and(p -> p.getPrice() > 100);