切换机箱有多个参数

问题描述 投票:-1回答:1

我必须做一些基于某些id的配置,有些配置是相同的,因此我不喜欢为每个配置进行多次切换。

我做了类似的事情:

 switch (  sportId  ) 
    case [BASEBALL, BASKETBALL]
    //do some configuration

如果我把每个盒子分开,开关运行良好,问题是当我把BASEBALL和BASKETBALL放在相同的情况下,因为配置是相同的,这不起作用。

提前致谢。

groovy switch-statement
1个回答
2
投票

你在使用枚举吗?以下示例适用于我:

enum Sport {
    BASEBALL, BASKETBALL, FOOTBALL, SWIMMING, HOCKEY
}

def set1 = EnumSet.of ( Sport.BASEBALL, Sport.BASKETBALL )
def set2 = EnumSet.of ( Sport.FOOTBALL, Sport.SWIMMING, Sport.HOCKEY )

def sportId = Sport.BASKETBALL

switch ( sportId ) {
    case set1:
        println 'doing basebase & basketball stuff'
        break
    case set2:
        println 'doing football, swimming & hockey stuff'
        break
    default:
        println 'nothing'
}
© www.soinside.com 2019 - 2024. All rights reserved.