【发布时间】:2018-04-17 08:15:58
【问题描述】:
我正在维护一个类来保持所有字段的外部化。一个包含多个此类值及其集合的示例类是:
public static class State {
public static final String DRAFT = "DRAFT";
public static final String APPROVED = "APPROVED";
public static final String RECEIVED = "RECEIVED";
public static final String PENDING = "PENDING";
public static List<String> IMMUTABLE_STATES = Arrays.asList(APPROVED,RECEIVED);
public static List<String> IRREVERSIBLE_STATES = Arrays.asList(DRAFT,RECEIEVED,PENDING);
}
可以看出IRREVERSIBLE_STATES 拥有IMMUTABLE_STATES 拥有的所有字段(状态)。此外,它还有一些自己的额外功能,在本例中为 PENDING。
有没有办法优雅地初始化第二个列表,以便它直接从第一个列表中获取值,而不是再次声明所有常见状态?我必须编写一个方法来实现这一点吗?不能作为初始化器在一行中完成吗?
【问题讨论】:
-
List<String> IRREVERSIBLE_STATES = new ArrayList<>(IMMUTABLE_STATES )怎么样?顺便说一句,我会在这里使用enum。
标签: java list arraylist collections java-8