Java,生成所选的枚举值列表

时间:2017-11-07 09:15:30

标签: java enums

我有一个项目,我在其中使用包含128个值的枚举类,我希望允许最终用户为其使用选择少量值(比如128个中的20个)为此,我使用checkbotablecell创建了javafx tableview很好,但我需要在枚举中创建布尔字段来定义每个值的可见性,但所有枚举字段都是最终的,我将无法动态更改它。那么,问题是如何动态定义每个枚举值的可见性?

2 个答案:

答案 0 :(得分:1)

您希望存储EnumSet

你的enum类定义了128个单例对象,一个不能有多个对象"是" 相同的枚举对象。解决方案是让一个类包含枚举对象。或者具有几个枚举常量的EnumSet。

EnumSet是一个针对枚举优化的Set实现,并提供构建方法。 在构造函数中传递实际的枚举类本身,所以使用类型擦除,类仍然可以运行。

EnumSet<Weekday> weekend = EnumSet.of(Weekday.SATURDAY, Weekday.SUNDAY);

答案 1 :(得分:1)

您可以在Enum类中创建枚举映射到布尔值。

例如:from parse_rest.datatypes import Object, File class GameScore(Object): pass with open('/path/to/screenshot.png', 'rb') as fh: rawdata = fh.read() screenshotFile = File('arbitraryNameOfFile', rawdata, 'image/png') screenshotFile.save() gs = GameScore.Query.get(objectId='xxxxxxx') gs.screenshot = screenshotFile gs.save() # # In another function # class GameScore(Object): pass gs = GameScore.Query.get(objectId='xxxxxxx') gs.screenshot.delete() # Error: No JSON object could be decoded

添加getter和setter方法以访问可见性。

相关问题