java设置条件以某个枚举值开始

时间:2016-02-01 20:37:02

标签: java enums

如何在java中编写一个条件来检查以IOS开头的枚举值?

对于以下条件,它只是将其设置为IOS,但我希望我的条件让getSoftwareName()IOS

一起开始
if (request.getEquipmentInfo().getSoftwareName() == RouterSwName.IOS) {

}

这是我的枚举类:

 public enum RouterSwName   
{
   JUNOS,
   IOS,
   IOS_XR,
   IOS_XE,
   OTHER; }

3 个答案:

答案 0 :(得分:1)

怎么样

request.getEquipmentInfo.getSoftwareName().toString().startsWith("IOS")

假设getSoftwareName()返回枚举,其toString()应将原始枚举名称返回为String。然后你只需检查它是否以“IOS”开头。

答案 1 :(得分:0)

你可以:

push_back

答案 2 :(得分:0)

可以将属性附加到每个常量,但我只保留一组它们:

private static final Set<RouteSwName> IOS_ROUTERS =
    Collections.unmodifiableSet(
        EnumSet.of(
            RouteSwName.IOS,
            RouteSwName.IOS_XR,
            RouteSwName.IOS_XE));

然后你可以这样做:

if (IOS_ROUTERS.contains(request.getEquipmentInfo().getSoftwareName())) {