'any'和'find'方法之间的Groovy区别

Ant*_*t's 6 groovy

在常规,有两种方法即anyfind方法,其可以在地图中使用.

这两种方法将"搜索"为我们所感兴趣的内容(即,既anyfind方法返回元素是否在地图与否,这是他们需要搜索).

但在这个搜索中他们有什么不同?

Abd*_*UMI 3

 (!list.find{predicate}) <> (!list.any{predicate})
Run Code Online (Sandbox Code Playgroud)

然而 :

( list.find{predicate}) >< (list.any{predicate})
Run Code Online (Sandbox Code Playgroud)

如果 Groovy API 中不存在任何功能,并且您想将此功能添加到 List metClass,则任何实现都将是:

java.util.List.metaClass.any={Closure c-> 
     return delegate.find(c) != null

}
Run Code Online (Sandbox Code Playgroud)

Find比任何东西都更通用

  • 什么是“&gt;&lt;”运算符?怎么称呼? (2认同)
  • @Agorreca,`&lt;&gt;`表示“等于”,`&gt;&lt;`表示与`&lt;&gt;`相反。这些不是真正的常规运算符 (2认同)