我正在尝试将 javaslang 的模式匹配合并到一个经典的工厂模式中:
public void log(String message, Integer level) {
Match(level).of(
Case($(INFO), run(() -> logger.info(message))), //
Case($(DEBUG), run(() -> logger.debug(message))), //
Case($(WARNING), run(() -> logger.warn(message))), //
Case($(ERROR), run(() -> logger.error(message))), //
Case($(), run(() -> logger.info(message))));
}
然而,这溢出并且所有方法都运行了(我收到了对不同级别的记录器的四个相同的调用)。