No, non va affatto bene. Innanzitutto è lungo, sicuramente meno performante e il fatto di avere un int sort messo come static è un pessimo design. Ed esiste anche un'altra questione concettuale: Comparable, essendo implementabile una volta sola per una certa classe di oggetti, dovrebbe rappresentare il criterio di ordinamento "naturale" per quella classe di oggetti (es. per una classe Persona, l'ordinamento più naturale è per cognome poi per nome).
Il tuo invece risulterebbe un miscuglio ...
Dovresti implementare Comparator in classi separate. Per il ascending/descending, non è per forza necessario implementare entrambi. Collections ha un metodo per invertire un Comparator.
Quanti elementi pensi di ordinare? 50, 500, 5000? Se sei su questi numeri, l'ordinamento è quasi istantaneo. Fai qualche benchmark.![]()