パラメータとして取るコンストラクタがありMap<ProcessInfoEnum, String>
ます。NO_OPERATION
そのため、以下に示すように、空の不変マップで変数を初期化しています。
public static final Processor NO_OPERATION = new Processor(ImmutableMap.<ProcessInfoEnum, String>of());
private final Map<ProcessInfoEnum, String> values;
public Processor(Map<ProcessInfoEnum, String> values) {
this.values = values;
}
EnumMap
いくつかの設計変更により、以下に示すように使用するようにコンストラクターを変更しました。
public Processor(EnumMap<ProcessInfoEnum, String> values) {
this.values = values;
}
空の不変列挙型マップを初期化できるように、同じ同等の行を for NO_OPERATION
but with で書くにはどうすればよいでしょうか?ImmutableEnumMap
// obviously this doesn't work
public static final Processor NO_OPERATION = new Processor(ImmutableEnumMap.<ProcessInfoEnum, String>of());
private final EnumMap<ProcessInfoEnum, String> values;
public Processor(EnumMap<ProcessInfoEnum, String> values) {
this.values = values;
}
はパッケージプライベートクラスなのでImmutableEnumMap
できませんImmutableEnumMap.of()
。他に方法はありますか?