如何在 java 中与客户端和服务器共享枚举



我正在尝试找出与始终保存完全相同数据的服务器和客户端共享枚举的最佳实践。我知道如果我只是简单地将代码复制并粘贴到服务器拥有的客户端中,那么它将不起作用,但是我将如何在两者之间共享这个对象"库"?

例如:

public enum Misc
{
    BAG     ("Bag", 10, 1),
    MAP     ("Map", 10, 1),
    SCROLL  ("Sroll", 10, 1),
    WAND    ("Wand", 10, 1),
    POTION  ("Potion", 10, 1);
    private String name;
    private int value;
    private double weight;
    Misc(String name, int value, double weight)
    {
        this.name = name;
        this.value = value;
        this.weight = weight;
    }
    public String getName() { return this.name; }
    public int value() { return this.value; }
    public double weight() { return this.weight; }
}
我将通过网络

发送这些枚举,例如通过网络从服务器到客户端写入 Misc.BAG.toString()。在客户端上,我需要将收到的字符串转换回客户端上的 Misc.BAG。简单地将 Items.jar 作为具有相同枚举的库并使用 Misc.ValueOf() 将其转换回枚举是否有效?当我在谷歌上搜索一些说是和不是时,我得到了有争议的答案。

如果我不能做到前者,我将如何对客户端和服务器之间的枚举进行简单的引用?

在两个应用程序中都有该类有什么问题?只需创建一个包,它将包含在客户端和服务器中。

最新更新