0

我必须建模一个对象,该对象本质上是一个代表游戏关卡的枚举:

public enum GameLevel {
    EASY(0, 3, 30),
    NORMAL(1, 4, 40),
    HARD(2, 5, 50);

    private int levelNum;
    private int size;
    private int score;

    private GameLevel(int levelNum, int size, int score) {
        this.levelNum = levelNum;
        this.size = size;
        this.score = score;
    }

    public int getLevelNum() {
        return levelNum;
    }

    public int getSize() {
        return size;
    }

    public int getScore() {
        return score;
    }
}

现在我的问题是这个枚举既存在于我的服务器上,也存在于我的客户端(共享库 jar)上。我正在用完整的内容对其进行序列化:

level { "levelNum":0, "size":3, "score":30 }

我将它再次反序列化回 GameLevel 枚举对象没有问题。但是,我希望能够在服务器级别更改它(例如:easy size = 6 而不是 3)并以相同的方式对其进行序列化,但在客户端能够反序列化这些新值(无需更改当然,客户端上的对象,只有服务器被更新)。

我看起来不像枚举是正确的选择,但是在查看我的代码时,所有内容都以类似“枚举”的方式处理。

4

0 回答 0