帕斯卡爾具有套裝類型的功能。它允許這樣的好結構:帕斯卡的Java套裝類型模擬器
if i in [5..10] then
...
Java中是否有類似的東西?
我想出了只與這個醜陋的建築,不接受間隔:
if ((new HashSet<Integer>(Arrays.asList(new Integer[]{5,6,7,8,9,10}))).contains(i))
...
帕斯卡爾具有套裝類型的功能。它允許這樣的好結構:帕斯卡的Java套裝類型模擬器
if i in [5..10] then
...
Java中是否有類似的東西?
我想出了只與這個醜陋的建築,不接受間隔:
if ((new HashSet<Integer>(Arrays.asList(new Integer[]{5,6,7,8,9,10}))).contains(i))
...
是的,你說得對。你需要在Java中實現Set
,如果你想要一個非順序的數字列表,你必須自己填充一個循環。
另外,Java不支持構造範圍。其他的JVM語言如Groovy和Scala也是如此。
This post可以添加更多的色彩
不幸的是,在Java中沒有這樣的美麗結構。但apache-commons提供了一個Range類,它可能適合您的需要
if(i> 4 && i <11) – digitaljoel 2011-12-19 17:31:01
'如果我在[0..3,7,9,12 ..15]然後'??? – Andrej 2011-12-19 17:37:01