Discuss / Java / 如果静态字段是一个集合,可以用工厂方法初始化

如果静态字段是一个集合,可以用工厂方法初始化

Topic source

a_bumpy_night

#1 Created at ... [Delete] [Delete and Lock User]

如果需要的静态字段是一个集合(Set, List, Map....),又希望在声明的时候就填入需要的内容以供静态方法调用,可以使用工厂方法,在声明的同时初始化。比如:

List<String> list = List.of("foo", "bar", "baz");

Set<String> set = Set.of("foo", "bar", "baz");

Map<String, String> map = Map.of("foo", "a", "bar", "b", "baz", "c");

可以参考文章:

https://www.baeldung.com/java-9-collections-factory-methods

以上的方法创建的集合是不可变集合,即创建后集合就不能增删改集合中的元素。

如果希望创建的集合是一个动态集合,但又希望在创建时初始化,可以使用内部隐名子类的方法(双括号初始化)。可以参考:

https://www.baeldung.com/java-double-brace-initialization


  • 1

Reply