Datentypen LocalDate Generic Comparable

ninonino

Mitglied
Ich habe ein Interface mit einem generischen Typen.
Dieser Typ soll comparable sein.
Java:
public interface Event <T extends Comparable<T>> {
	
	// some Methods

}
Wenn ich dieses Interface implementiere möchte ich später z.B. Enum.DayOfWeek,LocalDate,LocalTime...einsetzen.
Da aber z.B. LocalDate nur comparable zu ChronoLocalDate ist , funktioniert folgendes nicht :
Java:
public class LocalDateEvent implements Event<LocalDate>{
	
}
Muss ich jetzt eigene Wrapperklassen basteln , z.B so :
Java:
public class ComparableLocaldate implements Comparable<ComparableLocaldate>{
	
LocalDate date ;

	public LocalDate getDate(){
		return date ;
		
	}
	@Override
	public int compareTo(ComparableLocaldate arg0) {
		return date.compareTo(arg0.getDate());
		
	}
}
Eine solche Lösung erscheint mir irgendwie albern,da :
Java:
LocalDate.date1.compareTo(LocalDate.date2);
doch funktioniert.
freue mich über Hilfe !
 
Du könntest das ganze wie folgt auflockern:

Java:
public interface Event<T extends Comparable<? super T>> {

}

Damit muss dein T nur noch Comparable zu etwas sein, dass eine Superklasse von T ist, wie es eben bei LocalDate und ChronoLocalDate der Fall ist.
 

Zurück
Oben