Устаревшие методы Groovy и Eclipse — сортировка

У меня есть следующий код, который я написал в groovy 1.8.

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

Я перешел на groovy 2.3.x, и eclipse (используя плагин e4.4 GroovyEclipse для Juno из моментального снимка) показывает мне, что метод sort() теперь устарел для sort(Collection<T> self), к которому рекомендуется использовать sort(Iterable<T> self).

Как теперь связать такие методы вместе, чтобы избежать предупреждений об устаревании?

Я думал, что flatten() возвращает ArrayList (который является Iterable), все должно быть в порядке. Кроме того, я вижу, что делаю

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

убирает предупреждение, но выглядит некрасиво.

Так это просто затмение не видит, что на самом деле будет использоваться правильный вид, или есть какой-то другой способ выразить мою цепочку методов?


person Mark Fisher    schedule 29.09.2014    source источник


Ответы (1)


Предупреждения об устаревании связаны с тем, что Eclipse сопоставляет методы Groovy с в основном устаревшим классом DefaultGroovyMethods, который был только что заменен многими отдельными классами, такими как StringGroovyMethods, ResourceGroovyMethods и т. д.

Похоже, что в версии 2.7.1 подключаемого модуля Groovy это было исправлено ... проверьте свою версию плагина, возможно, вам просто нужно обновить его.

Если это не решит проблему, к сожалению, пока вы не заставите подключаемый модуль Groovy изменить сопоставление методов, вы не сможете избавиться от предупреждений, насколько мне известно. В IntelliJ у меня такая же проблема.

person Renato    schedule 29.09.2014
comment
Я использую версию моментального снимка GRECLIPSE 2.9.1. Я думаю, что конкретное исправление, упомянутое в вашей ссылке, предназначено только для tokenize(). Я просто буду жить с этим сейчас и, возможно, спрошу на их форумах, если это происходит в слишком большом количестве моего кода, или если кто-то еще не прокомментирует это. Ваше здоровье. - person Mark Fisher; 30.09.2014
comment
Я использую плагин Groovy Eclipse 2.9.1, и у меня есть аналогичная ошибка - stackoverflow.com/questions/28474559/ . - person Mentiflectax; 12.02.2015