我正在将一些遗留代码迁移到新平台,而旧版平台具有静态初始化程序。喜欢
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"));
答案 0 :(得分:3)
您的问题的答案我可以简单地将var创建为实例变量并对其进行初始化吗? 是:
private final static String var = System.getProperty("var.property");
是一种完全可以接受的初始化形式。
注意String
与Long
- System.getProperty()
会返回一个字符串,如果这是您想要的,则必须将其转换为长字。
也就是说,使用静态初始化程序块还有其他充分的理由,例如创建和填充更复杂的数据结构。