比较枚举中的值 java
compare values in enum java
这是我的情况,我正在将 WallEnum 的两种情况与其余情况进行比较。
import static com.gowallgo.enumtypes.WallEnums.CAW;
"" ( and the rest )
/**
* {@link Set} of cancel {@link WallEnums}s
*/
private static final Set<WallEnums> WALL_CODES = asSet(RES, CAW, AAP, ASV, CQP, OQR);
// more stuff and then I use it here .
if (wallEnum != WALL_CODES.contains(wallEnum)){}
这需要重构。我应该从哪里开始,这样我就不需要为每个代码进行静态导入?
如果您不想导入每个枚举值,您可以使用
import com.gowallgo.enumtypes.WallEnums
WallEnums enum = WallEnums.RES; //Now you have to use EnumName.VALUE
您不必导入每个枚举类型,您可以尝试使用以下方法导入枚举的每个元素:
import static com.gowallgo.enumtypes.WallEnums.*;
使用EnumSet
:
// Do not import anything
// This creates a Set that contains all posible values
// In case you need a subset use: EnumSet.of(WallEnums.RES, WallEnums.CAW, etc)
private static final Set<WallEnums> WALL_CODES = EnumSet.allOf(WallEnums.class);
// Later...
if (WALL_CODES.contains(someWallEnum)) {
// Do stuff if someWallEnum belongs to WALL_CODES set
}
此代码使用优化的 EnumSet
class 创建了一组枚举。然后你可以像往常一样使用任何 Set
操作,即 contains()
.
这是我的情况,我正在将 WallEnum 的两种情况与其余情况进行比较。
import static com.gowallgo.enumtypes.WallEnums.CAW;
"" ( and the rest )
/**
* {@link Set} of cancel {@link WallEnums}s
*/
private static final Set<WallEnums> WALL_CODES = asSet(RES, CAW, AAP, ASV, CQP, OQR);
// more stuff and then I use it here .
if (wallEnum != WALL_CODES.contains(wallEnum)){}
这需要重构。我应该从哪里开始,这样我就不需要为每个代码进行静态导入?
如果您不想导入每个枚举值,您可以使用
import com.gowallgo.enumtypes.WallEnums
WallEnums enum = WallEnums.RES; //Now you have to use EnumName.VALUE
您不必导入每个枚举类型,您可以尝试使用以下方法导入枚举的每个元素:
import static com.gowallgo.enumtypes.WallEnums.*;
使用EnumSet
:
// Do not import anything
// This creates a Set that contains all posible values
// In case you need a subset use: EnumSet.of(WallEnums.RES, WallEnums.CAW, etc)
private static final Set<WallEnums> WALL_CODES = EnumSet.allOf(WallEnums.class);
// Later...
if (WALL_CODES.contains(someWallEnum)) {
// Do stuff if someWallEnum belongs to WALL_CODES set
}
此代码使用优化的 EnumSet
class 创建了一组枚举。然后你可以像往常一样使用任何 Set
操作,即 contains()
.