Salve ho un grosso problema con un programma java, ho tre classi:
vacanze,beni di consumo e cene. Ho una classe catalogo che praticamente crea un arraylist<Utilizzabile> dove utilizzabile è un interfaccia implementata da tutte e tre le classi.
Ho due interfacce implementate da tutte le classi: Utilizzabile con il metodo eAcquistabile che indica se l'oggetto nel catalogo si puo mettere in vendita o meno e un'interfaccia articolo che contiene il metodo getID e toString;
vacanze ha un id e una scadenza dell'offerta,idem per cene,mentre bene di consumo ha solo l'id senza scadenza.Devo stabilire 2 ordinamenti: uno per id e uno per data di scadenza considerando che i beni di consumo hanno scadenza maggiore di tutti gli altri. Come posso fare?
Avevo pensato di usare Collections.sort(ArrayList<>) però dovrei usare comparable e fare l'overraide del metodo in ogni classe ma cosi riesco a farlo o solo per nome o solo per data.
Come posso fare? devo fare 2 metodi nella classe catalogo dove uno ordina per id e l'altro per scadenza.
Grazie