我试图找出与始终保存完全相同数据的服务器和客户端共享枚举的最佳实践。我知道如果我只是将代码复制并粘贴到服务器拥有的客户端中,那么它将无法工作,但是我将如何在两者之间共享这个对象“库”?
例如:
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() 将其转换回枚举工作或否?当我用谷歌搜索一些说是和不是时,我得到了有争议的答案。
如果我不能做前者,我将如何对客户端和服务器之间的枚举进行简单的引用?