categoryCheck: {
        for (String allowedCategory : allowedCategories) {
            if (evt.getLoggerName().startsWith(allowedCategory)) {
                break categoryCheck;
            }
        }
        return false;
    }


有什么主意如何在不使用标签的情况下并且没有大量增加的情况下重写此代码?

最佳答案

我可能会将其放入自己的方法中:

// I've guessed at the types...
public boolean isCategoryAllowed(Event evt, Iterable<String> allowedCategories) {
    for (String allowedCategory : allowedCategories) {
        if (evt.getLoggerName().startsWith(allowedCategory)) {
            return true;
        }
    }
    return false;
}


然后更改调用代码以简单地调用方法:

if (!isCategoryAllowed(evt, allowedCategories)) {
    return false;
}

09-27 22:57