Sto tentando di utilizzare la classe Guava ImmutableSet di Google per creare un insieme di classi immutabili con proprietà timelike (java.util.Date e org.joda.time.DateTime).Java Generics type conversion puzzle
private static final ImmutableSet<Class<?>> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Sono completamente perplesso sul motivo per cui sto ottenendo questo errore di compilazione (Java 1.6 in Eclipse).
Type mismatch: cannot convert from ImmutableSet<Class<? extends Object&Serializable&Comparable<? extends Comparable<?>>>> to ImmutableSet<Class<?>>
noti che questo funziona:
private static final ImmutableSet<?> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Comunque parte ovviamente allentata della descrizione generica del tipo timeLikeObjects.
Non ho mai incontrato il simbolo e commerciale in una descrizione generica e non sembra essere una sintassi valida.
C'è un modo per specificare l'ereditarietà multipla in Java Generics che mi manca?
Jon questa è stata una risposta estremamente illuminante. La tua soluzione funziona perfettamente. Grazie! :) –