No, non è sensata.
In Java la comparazione degli oggetti è stata affrontata tramite l'utilizzo di due interfacce distinte: Comparable e Comparator.
Comparable va implementato nella classe degli oggetti da comparare. Se hai una classe es. Persona, questa può implementare
public class Persona implements Comparable<Persona>
Essendo nella classe degli oggetti da comparare, la implementazione di Comparable è UNA sola, non ce ne possono essere ovviamente di più (una interfaccia si implementa una volta sola in un oggetto). Il criterio di ordinamento è quindi solo uno e come dice la documentazione, dovrebbe (in teoria) essere l'ordinamento che è più "naturale" per quella classe di oggetti (ma poi dipende dal concetto della classe, ovviamente). Nel caso di un Persona, l'ordinamento naturale più ovvio e comune è per cognome/nome.
Il compareTo di Comparable DEVE usare lo "stato" dell'oggetto, perché la comparazione è tra l'oggetto this e un altro oggetto (in argomento al metodo).
Comparator invece va implementato in classi DISTINTE da quella degli oggetti da comparare. Essendo in classi distinte, se ne possono avere quante ne vuoi e quindi ottenere N criteri "extra" di ordinamento.
public class AnnoNascitaDecrescenteComparator implements Comparator<Persona>
public class NomeEAnnoNascitaComparator implements Comparator<Persona>
ecc....
Il compare di Comparator riceve i 2 oggetti da comparare, NON ha senso che sia implementato nella classe degli oggetti, perché non userebbe lo "stato" dell'oggetto su cui compare viene invocato! E infatti nel tuo caso hai dovuto passare un nuovo Veicolo fittizio al sort che però concettualmente non servirebbe a un piffero.
Questo è quanto va studiato. Stop.