小编Was*_*bel的帖子

使用流和 Java 8 的 If/else 表示

我有以下两个实现的接口:

public interface Parser {
    void parse();
    boolean canParse(String message);
}

class StackParser implements Parser {
    public void parse(){
        System.out.println("Parsing stackoverflow");
    }
    public boolean canParse(String message){
        return message.equals("stackoverflow");
    }
}

class YoutubeParser implements Parser {
    public void parse() {
        System.out.println("Parsing youtube");
    }
    public boolean canParse(String message) {
        return message.equals("youtube");
    }
}
Run Code Online (Sandbox Code Playgroud)

我去检查传入的消息并解析"stackoverflow""youtube"

public class Main {
    private List<Parser> parsers;


    public static void main(String[] args) {
        new Main().doSomething("youtube");
    }

    void doSomething(String message){
        parsers.stream()
                .filter(p -> p.canParse(message))
                .forEach(p …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

27
推荐指数
2
解决办法
1455
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1