首页 > 解决方案 > 枚举空覆盖

问题描述

我有一个枚举类,我在其中覆盖了一个方法(#proccess),但是有一些值(例如 OPT 和 BST)不会覆盖该方法,因为它们已被弃用,但用户仍然可以使用这些值,因为它们在其他类中使用. 我的问题是是否有更好的方法来做到这一点/更清洁?

public enum CompilationMode { 
    FASTBUILD {
        @Override
        public void proccess(User user) {
            RootedPath rootedPath = (RootedPath) user.path();
            Compilation.fastBuildCompilate(user, rootedPath);
        }
    },
    DEBUG {
        @Override
        public void proccess(User user) {
            Compilation.debugCompilate(user);
        }
    },
    OPT,
    BS;

    public void doProccess(User user) {
        Preconditions.checkNonNull(user);
        proccess(user);
        user.update();
    }

    protected void proccess(User user) {
        /*empty*/
    }
}

标签: java

解决方案


推荐阅读