4
我有一個List
:如何將OR過濾器應用於java.util.stream?
List<String> mylist=Arrays.asList("Abla","Tbla","Cbla");
我有我的流準備2個過濾器:
Predicate<String> startswith_A= s-> s.startsWith("A");
Predicate<String> startswith_T= s-> s.startsWith("T");
以下爲 「A」 例如過濾器:
mylist.stream().filter(startswith_A).forEach(mystring -> {
System.out.println("filtered : " + mystring);
});
我怎樣才能應用相同的過濾器「A」或「T」?
喜歡的東西:
mylist.stream().filter(startswith_A || startswith_T).forEach(mystring -> {
System.out.println("filtered : " + mystring);
});
我不想創造這樣一個新的斷言:
Predicate<String> startswith_A_or_T= s-> s.startsWith("T") || s.startsWith("A");
我怎樣才能做到這一點有2個獨立的Predicate
S'
https://docs.oracle.com/javase/8/docs/api/java/util /function/Predicate.html#or-java.util.function.Predicate- –
爲什麼匿名函數不符合您的要求? mylist.stream()。filter(s - > s.startsWith(「A」)|| s.startsWith(「T」))。forEach(System.out :: println); –