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