Java 中是否有静态初始化器的替代方案?
只是一个随机的例子:
private static List<String> list;
static {
list = new ArrayList<>();
list.add("foo")
}
这不会让调试变得更加困难吗?
最佳答案
如果您需要静态列表,您需要在**某处*初始化它。静态初始化器是一个公平的选择,尽管在本例中,您可以将其缩减为一个行:
private static List<String> list = new ArrayList<>(Arrays.asList("foo"));
或者,如果在程序的生命周期内不应修改此列表,则更短:
private static final List<String> list = Collections.singletonList("foo");
或者如评论中所述,在 Java 9 及更高版本中:
private static final List<String> list = List.of("foo");
关于java - 使用静态初始化器是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51050560/