Я пытаюсь использовать класс Google Guava ImmutableSet для создания набора неизменяемых классов со свойствами, подобными времени (java.util.Date и org.joda.time.DateTime).
private static final ImmutableSet<Class<?>> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Я совершенно не понимаю, почему я получаю эту ошибку компилятора (Java 1.6 в eclipse).
Type mismatch: cannot convert from ImmutableSet<Class<? extends Object&Serializable&Comparable<? extends Comparable<?>>>> to ImmutableSet<Class<?>>
Обратите внимание, что это работает:
private static final ImmutableSet<?> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Однако я явно потерял часть общего описания типа timeLikeObjects.
Я никогда не сталкивался с символом амперсанда в общем описании, и это не похоже на допустимый синтаксис.
Есть ли способ указать множественное наследование в Java Generics, который я просто пропустил?