如何在变量中存储多个选项-Java

如何在变量中存储多个选项-Java,java,Java,在Java中,我如何创建一个属性/字段/变量,该属性/字段/变量可以在任何时候存储两个选项/值,类似于在较低级别的环境中,可以在变量中设置位,每个位的含义不同。我知道,在Java中,可以使用静态final或其他方法来实现这一点,然后将它们组合在一起,但难道没有更优雅的解决方案吗?例如,在C#中,您可以将[Flags]属性设置为枚举,然后将状态/值合并到该枚举的实例中 有什么想法吗 雷诺嗯,您可以使用一个枚举,然后为该枚举设置一个。没有更多的信息,很难确切地知道该推荐什么枚举集是一个很好的选择,当

在Java中,我如何创建一个属性/字段/变量,该属性/字段/变量可以在任何时候存储两个选项/值,类似于在较低级别的环境中,可以在变量中设置位,每个位的含义不同。我知道,在Java中,可以使用静态final或其他方法来实现这一点,然后将它们组合在一起,但难道没有更优雅的解决方案吗?例如,在C#中,您可以将[Flags]属性设置为枚举,然后将状态/值合并到该枚举的实例中

有什么想法吗


雷诺

嗯,您可以使用一个枚举,然后为该枚举设置一个。没有更多的信息,很难确切地知道该推荐什么<代码>枚举集是一个很好的选择,当您自然地只处理“选项”时-但是如果您有多个值(例如高度和宽度;一个固定数量的值,它们自然地结合在一起),那么我会创建一个新类型来封装它们


如果你能给出你所要寻找的具体例子,我们也许能帮助更多。

< P>你是指像C++联盟吗?这在Java中是不允许的,因为您失去了类型安全性;例如,这将允许您获取对键入为
字符串的
整数的引用。

老式方法(您仍然可以在许多库中找到)是使用int值或a对位掩码进行编码,但由于JDK 1.5,枚举集是首选方法