Я пытаюсь использовать класс Guava ImmutableSet Google для создания набора неизменяемых классов со временными свойствами (java.util.Date и org.joda.time.DateTime).Java Generics type conversion puzzle
private static final ImmutableSet<Class<?>> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
Я полностью в тупике относительно того, почему я получаю эту ошибку компилятора (Java 1.6 в затмении).
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, которое мне просто не хватает?
Jon Это был чрезвычайно просветляющий ответ. Вы - решение, отлично работает. Благодаря! :) –