6

我有以下我在 groovy 1.8 中编写的代码

someListOfLists.flatten().sort().unique()

我已经转移到 groovy 2.3.x,并且 eclipse(使用快照版本中的 Juno 的 e4.4 GroovyEclipse 插件)向我展示了 sort() 方法现在已被弃用sort(Collection<T> self)建议使用sort(Iterable<T> self).

我现在如何将这样的方法链接在一起以避免弃用警告?

我的想法是 flatten() 返回一个 ArrayList (它是一个 Iterable)它应该没问题。另外,我看到做

((Iterable) someListOfLists.flatten()).sort().unique()

删除警告,但看起来很难看。

那么这只是日食没有看到实际使用正确的排序,还是有其他方式来表达我的方法链?

4

1 回答 1

6

弃用警告是由于 Eclipse 将 Groovy 方法映射到最不推荐使用的 DefaultGroovyMethods 类,该类刚刚被许多单独的其他类(如 StringGroovyMethods、ResourceGroovyMethods 等)取代。

似乎在Groovy 插件的 2.7.1 版本中,此问题已修复...检查您的插件版本,也许您只需要升级。

如果这不能解决问题,不幸的是,除非您可以让 Groovy 插件更改方法映射,否则据我所知,您将无法摆脱警告。在 IntelliJ 中我有同样的问题。

于 2014-09-29T21:43:29.467 回答