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

时间:2013-12-07 03:01:24

标签: 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++;
....

ITEM_GOLD应该等于0ITEM_ZINC应该等于1ITEM_TIN应该等于2,依此类推。

2 个答案:

答案 0 :(得分:6)

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

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

public TheClass {
   ...
   enum Item {
     GOLD, ZYNC, TIN
   }
   ...
}

答案 1 :(得分:0)

虽然不是一个直接的答案,但在我看来它是正确的答案。 尝试这一点,看看,发现那种方式要快得多
至于什么值是一个好的方法,使用枚举或常量,使其更具可读性和可维护性 动态值可能在将来发生变化,并给出意想不到的结果。