是否有Groovy的安全范围运算符?
比如我有,
[1,2,3][0..10]
Run Code Online (Sandbox Code Playgroud)
Groovy会抛出一个 java.lang.IndexOutOfBoundsException:
是否有索引安全的方式来访问此范围?或者我是否总是必须在运行范围之前检查集合大小?
您可以使用take(n),它允许您获取特定数量的项目,如果集合中的项目太少,则不会出错:
def input = [1,2,3]
def result = input.take(10)
assert result == [1,2,3]
input = [1,2,3,4,5]
result = input.take(4)
assert result == [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
如果您需要从偏移量开始,您可以使用drop(n),但不会修改原始集合:
def input = [1,2,3,4,5]
def result = input.drop(2).take(2)
assert result == [3,4]
Run Code Online (Sandbox Code Playgroud)
这些都对集合的大小是安全的.如果列表在上一个示例中太小,则集合中可能只有一个或零个项目.
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |