我正在尝试使用流
编写以下代码 public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("pavan");
l.add("kumar");
l.add("rajesh");
for(String s : l){
if(s.contains("pavan")){
methodA();
}else if (s.contains("kumar")){
methodB();
}else{
System.out.println("C");
}
}
}
}
我使用流
尝试了以下操作 public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("pavan");
l.add("kumar");
l.add("rajesh");
l.stream().
filter(s->s.contains("pavan")).
findAny().map(s->methodB()).filter(s->s.contains("kumar")).map(s->methodC()).
orElse(methodA());
}
以上代码永远不会执行methodC()
。
任何人都可以在一个Java 8流中重写它吗?
答案 0 :(得分:1)
你可以简单地使用forEach:
l.stream().forEach(s -> {
if (s.contains("pavan")) {
methodA();
} else if (s.contains("kumar")) {
methodB();
} else {
methodC();
}
});