如何在java中编写一个条件来检查以IOS
开头的枚举值?
对于以下条件,它只是将其设置为IOS
,但我希望我的条件让getSoftwareName()
与IOS
if (request.getEquipmentInfo().getSoftwareName() == RouterSwName.IOS) {
}
这是我的枚举类:
public enum RouterSwName
{
JUNOS,
IOS,
IOS_XR,
IOS_XE,
OTHER; }
答案 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())) {