【发布时间】:2012-05-12 01:17:51
【问题描述】:
我正在尝试使用 Google 的 Guava ImmutableSet 类创建一组具有类时间属性(java.util.Date 和 org.joda.time.DateTime)的不可变类。
private static final ImmutableSet<Class<?>> timeLikeObjects = ImmutableSet.of(Date.class, DateTime.class);
我完全不知道为什么会出现此编译器错误(Eclipse 中的 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 泛型中指定多重继承?
【问题讨论】: