2014-09-29 17 views
5

Ho il seguente codice che ho scritto in Groovy 1,8Groovy Metodi deprecato e Eclipse - sorta

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

ho spostato verso 2.3.x groove, ed Eclipse (usando e4.4 GroovyEclipse plug-in per Juno da rilascio snapshot) mi sta mostrando il metodo sort() è ora deprecato per sort(Collection<T> self), a cui il advice is to use the sort(Iterable<T> self).

Come concatenare ora metodi come questo per evitare gli avvisi di ritiro?

La mia opinione è che, mentre flatten() restituisce un ArrayList (which is an Iterable), dovrebbe andare bene. Inoltre, vedo fare

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

rimuove l'avviso, ma sembra brutto.

Quindi questa eclissi non è vedere che verrà effettivamente utilizzato l'ordinamento corretto o esiste un altro modo per esprimere la mia catena di metodi?

risposta

5

I warning di deprecazione sono dovute al fatto che Eclipse è la mappatura metodi Groovy alla classe DefaultGroovyMethods lo più deprecato, che è stato appena sostituito da molte altre classi separate, come StringGroovyMethods, ResourceGroovyMethods ecc

Sembra che nella versione 2.7.1 of the Groovy plugin, questo è stato risolto ... controlla la tua versione del plugin, forse hai solo bisogno di aggiornare.

Se questo non risolve il problema, sfortunatamente, a meno che tu non possa fare in modo che il plugin Groovy modifichi la mappatura dei metodi, per quanto ne so non sarai in grado di eliminare gli avvisi. In IntelliJ ho lo stesso problema.

+1

La versione di snapshot GRECLIPSE che sto utilizzando è 2.9.1. Penso che la particolare correzione menzionata nel tuo link sia solo per tokenize(). Per ora mi limiterò a conviverci e forse chiederei sul loro forum se si verifica in troppa parte del mio codice, oa meno che qualcun altro non ci commenti su questo. Saluti. –

+0

Uso il plugin Groovy Eclipse 2.9.1 e ho un errore simile - http://stackoverflow.com/questions/28474559/why-is-list-sort-method-striked-through. –

Problemi correlati