0
我有一個開關的情況下是這樣的:如何優化開關盒?
def someString = 'hello1234bla'
// ...
switch (someString) {
case {it.contains('1234')}:
doSomething()
break
case {it.contains('2468')}:
doSomethingElse()
break
default:
throw new Exception("ERROR: Number not found")
break
}
這似乎是東西這麼看似簡單的相當多的代碼。我想要的是當someString包含特定的子字符串時,可以執行不同的功能。有沒有更簡單的方法來做到這一點,除了可能是一個if-else級聯?
如何使用地圖,存儲您的功能,並通過該地圖中的每個元素輸入一個數字循環並調用相匹配的函數?我不知道Groovy是否有這樣一種數據類型,但是這個概念在Java等中是可能的。 –
@Krazor:在groovy中,它的東西就像這樣的{{{{}} {do,foo} (someThing.contains(s))fn()}' – cfrick
Yeiks,現在這對我來說不是非常可讀。無論如何,這樣做會使您能夠快速關聯和更改用戶輸入和相應的功能。 –