Java中类似于Pascal的集合类型

3

Pascal拥有一种集合类型的特性。它可以使用这样的美妙结构:

if i in [5..10] then
  ...

Java中是否有类似的东西?

我只能想到这个丑陋的结构,它不接受间隔:

if ((new HashSet<Integer>(Arrays.asList(new Integer[]{5,6,7,8,9,10}))).contains(i))
  ...

1
如果i在[0..3, 7, 9, 12..15]中,则 - Andrej
2个回答

1

是的,你说得对。如果你想要一个非连续的数字列表,你需要在Java中实现一个Set并自己用循环填充它。

此外,Java不支持构建范围。但其他JVM语言如Groovy和Scala则支持。

这篇文章可能会增加一些色彩


1

很不幸,Java 中并没有这样漂亮的构造。但是 apache-commons 提供了一个 Range 类可以满足您的需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接