我有以下代码,我在groovy 1.8中编写了
someListOfLists.flatten().sort().unique()
我已经转移到groovy 2.3.x了,eclipse(从快照版本使用针对Juno的e4.4 GroovyEclipse插件)向我展示了sort(Collection<T> self)
现在不推荐使用sort()方法, advice is to use the sort(Iterable<T> self)
我现在如何将这样的方法链接在一起以避免弃用警告?
我的想法是,当flatten()返回一个ArrayList(which is an Iterable)时,应该没问题。另外,我看到了
((Iterable) someListOfLists.flatten()).sort().unique()
删除警告,但看起来很难看。
这只是eclipse没有看到实际使用正确的排序,还是有其他方式来表达我的方法链?
答案 0 :(得分:6)
弃用警告是由于Eclipse将Groovy方法映射到大多数已弃用的DefaultGroovyMethods类,而该类刚被许多单独的其他类(如StringGroovyMethods,ResourceGroovyMethods等)所取代。
似乎在版本2.7.1 of the Groovy plugin中,这已经修复了...检查你的插件版本,也许你只需要升级。
如果这不能解决问题,不幸的是,除非你可以让Groovy插件改变方法映射,否则你将无法摆脱警告,据我所知。在IntelliJ中,我遇到了同样的问题。