You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中实现枚举嵌套及难度与世界尺寸的自由组合?

世界生成器的枚举拆分需求与实现

初始实现

我正在开发一个世界生成器,它目前包含两个核心配置选项:世界尺寸与难度。最初我采用如下枚举实现:

public enum WorldType {
    TEST,EASY,MEDIUM,HARD;

    public int size(){
        return switch (this) {
            case TEST -> 30;
            case EASY -> 200;
            case MEDIUM -> 500;
            case HARD -> 1000;
        };
    }
}

需求调整

现在需要对代码进行调整,将难度与尺寸分离,且二者需支持自由组合,例如实现TEST.TINY、EASY.LARGE这类形式的组合。

我调研时尝试过枚举嵌套的方案,但无法实现我设想的组合方式。希望找到一种无需冗余代码的简洁实现方法,虽然见过用接口、结构体和类实现的方案,但还是想尽可能保持代码简洁。

可行方案(更新)

感谢大家的反馈,我找到了一个可行的方案(尽管并非我最初设想的形式):

public enum WorldType {
    TEST,EASY,MEDIUM,HARD;

    public enum Size {
        TINY(30),SMALL(200),MEDIUM(500),LARGE(1000);
        private int value;

        Size(int value){
            this.value = value;
        }

        public int get(){
            return value;
        }
    }
}

内容的提问来源于stack exchange,提问作者Wewius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:40:33