【问题标题】:elements not getting added in list groovy script未在列表 groovy 脚本中添加元素
【发布时间】:2017-10-28 18:00:00
【问题描述】:

在 groovy 中添加列表中的元素时发生了奇怪的事情。 设想- 有两个List list1 和list2。 List1 包含 X 类型的 Object,而 List2 为空。 List1 正在从 java 文件中填充,并且在 groovy 脚本中迭代 List1 时,我在 List2 中添加对象。

但是发生的事情是元素没有被添加。 List2 保持为空。 如果我调试该行并评估表达式/行,那么它就会被添加。但是在执行此行时正常调试时,它会突然跳转到任何随机行。 没有例外。

已创建如下列表:

List<X> dataToBeRemoved = new ArrayList<>()

如下迭代列表:

for (X data in XList) {
    if(something) {
        dataToBeRemoved.add(data)
    }
}

我是 Groovy 的新手,如果有人遇到过这种问题。请指导。谢谢。

【问题讨论】:

  • add(X) 似乎是类型,而不是值
  • 对不起,这是数据。我已经更新了帖子。

标签: groovy


【解决方案1】:

你没有问,但类型参数并没有得到太多。

List elementsToRemove = []

而且,在这种情况下更好:

List elementsToRemove = allElements.findAll { ...some condition... }

在那之后,就不可能从您的代码中分辨出来了。诸如“为什么 Groovy 不起作用?”之类的问题很难回答。

【讨论】:

    【解决方案2】:

    您可以通过简单地使用来定义一个空列表

    def mySmallList = []

    你也可以使用 findAll 过滤掉列表

    mySmallList = myBigList.findAll {//some condition }

    请查看链接https://groovyconsole.appspot.com/script/5127180895911936

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      相关资源
      最近更新 更多