Я переношу некоторый старый код на новую платформу, а устаревшая платформа имеет статический инициализатор. как
private final static long var;
static {
var = Long.parseLong(System.getProperty("var.proerty"));
}
Я хочу избежать этого в своем новом коде. Может ли кто-нибудь сказать мне, что является лучшей стратегией, чтобы избежать этого. Могу ли я просто создать переменную как статическую переменную и инициализировать ее одновременно. как
private final static Long var = Long.parseLong(System.getProperty("var.proerty"));
Ответ на ваш вопрос Могу ли я просто создать var в качестве переменной экземпляра и инициализировать его? есть Да:
private final static String var = System.getProperty("var.property");
является вполне приемлемой формой инициализации.
Примечание. String
vs. Long
- System.getProperty()
возвращает строку, вам придется преобразовать ее в Long, если это вам нужно.
Тем не менее, есть и другие веские причины использовать блоки статического инициализатора, такие как создание и заполнение более сложной структуры данных.
private final static
. В вопросе есть несоответствие, и я решил использовать код, показанный в вопросе.
final
.