Próbuję użyć klasy Guava ImmutableSet Google do stworzenia zestawu niezmiennych klas o właściwościach czasowych (java.util.Date i org.joda.time.DateTime).Typowa konwersja typu Java Generic
private static final ImmutableSet<Class<?>> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Jestem całkowicie zaskoczony, dlaczego otrzymuję ten błąd kompilatora (Java 1.6 w eclipse).
Type mismatch: cannot convert from ImmutableSet<Class<? extends Object&Serializable&Comparable<? extends Comparable<?>>>> to ImmutableSet<Class<?>>
Zauważ, że to działa:
private static final ImmutableSet<?> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Jednak ja oczywiście luźna część ogólnego opisu rodzaju timeLikeObjects.
Nigdy nie natknąłem się na znak ampersand w ogólnym opisie i wydaje się, że nie jest to poprawna składnia.
Czy istnieje sposób na określenie dziedziczenia wielokrotnego w Java Generics, którego właśnie brakuje?
Jon to była niezwykle pouczająca odpowiedź. Twoje rozwiązanie działa idealnie. Dzięki! :) –