避免静态初始化程序的最佳策略

时间:2014-07-08 20:02:43

标签: java

我正在将一些遗留代码迁移到新平台,而旧版平台具有静态初始化程序。喜欢

private final static long var;

static {
 var = Long.parseLong(System.getProperty("var.proerty"));
}

我想在我的新代码中避免这种情况。有人可以告诉我什么是避免它的最佳策略。我可以简单地将var创建为静态变量并同时初始化它。喜欢

private final static Long var = Long.parseLong(System.getProperty("var.proerty"));

1 个答案:

答案 0 :(得分:3)

您的问题的答案我可以简单地将var创建为实例变量并对其进行初始化吗?

private final static String var = System.getProperty("var.property");

是一种完全可以接受的初始化形式。

注意StringLong - System.getProperty()会返回一个字符串,如果这是您想要的,则必须将其转换为长字。

也就是说,使用静态初始化程序块还有其他充分的理由,例如创建和填充更复杂的数据结构。