在构造函数中使用枚举的java枚举
作者:互联网
是否可以让java中的枚举将一组枚举作为参数?如果是,那我该如何实现呢?
当我使用这个时,我想说的是:拿一个MODAL_SETTINGS.EDIT_MODAL_WINDOW并使用MODAL_BUTTONS.SAVE&按钮创建它. MODAL_BUTTONS.CANCEL.
这就是我现在所拥有的
public enum MODAL_SETTINGS {
NEW_MODAL_WINDOW(MODAL_BUTTONS.class),
EDIT_MODAL_WINDOW(MODAL_BUTTONS.class),
DELETE_MODAL_WINDOW(MODAL_BUTTONS.class);
private EnumSet buttons;
private MODAL_SETTINGS(EnumSet<MODAL_BUTTONS> buttons){
}
}
public enum MODAL_BUTTONS {
SAVE, UPDATE, CANCEL, DELETE
}
解决方法:
而不是这个:
NEW_MODAL_WINDOW(MODAL_BUTTONS.class),
我怀疑你想要这个:
NEW_MODAL_WINDOW(EnumSet.allOf(MODAL_BUTTONS.class))
要么
NEW_MODAL_WINDOW(EnumSet.of(MODAL_BUTTONS.SAVE, MODAL_BUTTONS.CANCEL))
(等等).
否则你只是传递一个Class< T>而不是一个EnumSet.
标签:java,enums,enumset 来源: https://codeday.me/bug/20190711/1436173.html