1
今天我偶然发现了这个错误,我并不完全明白问题所在。类型与Java泛型和匿名类不匹配
我有一个简单的界面
public interface MyInterface
{
}
然后我尝试创建一个Guava ImmutableSet使用of()
方法传递一个匿名类的实例。
ImmutableSet<MyInterface> a = ImmutableSet.of(new MyInterface()
{
});
编译器不喜欢它:
Type mismatch: cannot convert from ImmutableSet<new MyInterface(){}> to ImmutableSet<MyInterface>
什么样的类型是ImmutableSet<new MyInterface(){}>
?我不熟悉这个语法。
尝试'<?实现MyInterface>'。 (不确定)。 :-) – Astrobleme
[Java泛型类型转换拼图]可能的重复(http://stackoverflow.com/questions/10555773/java-generics-type-conversion-puzzle) – durron597
@ durron597我不同意。我面临的问题与匿名类直接相关。 – GuiSim