这是初始化静态变量的有效方法吗?

Ent*_*ity 2 java static-variables

我有一个大常量文件.这是初始化它们的有效方法吗?

private static int i = 0;

public static final int ITEM_GOLD = i++;
public static final int ITEM_ZINC = i++;
public static final int ITEM_TIN = i++;
....
Run Code Online (Sandbox Code Playgroud)

ITEM_GOLD应该相等0,ITEM_ZINC应该相等1,ITEM_TIN应该等于2等等.

Jir*_*ser 6

是的,这应该有效.但是,我建议使用枚举类.如果数字真的有一些语义(不仅仅是一个常量的任意鉴别器)那么这是好的,否则枚举更好(可以在开关中使用,代码更具可读性等等)

如果您不想引入新文件,可能需要在周围的类中声明枚举:

public TheClass {
   ...
   enum Item {
     GOLD, ZYNC, TIN
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)