作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是使用collect的代码
def lst = [1,2,3,4];
def newlst = [];
newlst = lst.collect {element -> return element * element}
println(newlst);
这是使用 findResults 的代码
def lst2 = [1,2,3,4];
def newlst2 = [];
newlst2 = lst2.findResults {element -> return element * element}
println(newlst2);
两者似乎都返回 [1, 4, 9, 16] 那么有什么区别呢?谢谢!
最佳答案
基本上区别在于它们如何处理 null
值
collect
当看到 null
时会收集它,而 findResults
不会选择它。
换句话说,当使用 collect
时,结果集合的大小与输入的大小相同。
当然你可以过滤掉结果,但这是一个额外的步骤
这是一个link以我在互联网上找到的例子为例
例子:
def list = [1, 2, 3, 4]
println list.collect { it % 2 ? it : null}
// [1, null, 3, null]
println list.findResults { it % 2 ? it : null}
// [1,3]
关于groovy - findResults 和 groovy 中的 collect 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57238029/
这是使用collect的代码 def lst = [1,2,3,4]; def newlst = []; newlst = lst.collect {element -> re
根据 this post , 你可以让 Visual Studio 找到。 我更新了文章中 Asif Iqbal K 的代码以消除构建错误。 public const string vsWindowK
我是一名优秀的程序员,十分优秀!