为什么我不能声明一个带有泛型的字段来实现多个接口/类?
class MyClass {
private Class<? extends Enum<?> & Foo> bar;
//..
}
interface Foo {
// ...
}
public enum A implements Foo {
// ...
}
编译器错误:Syntax error on token &
答案 0 :(得分:0)
问题回答here。
简而言之,引自java language specification:
4.9交叉点类型交叉点类型采用T1和amp;的形式。 ......&amp; Tn,n> 0,其中Ti,1in是类型表达式。交叉类型出现在捕获转换(第5.1.10节)和类型推断(第15.12.2.7节)的过程中。不能直接将交集类型写为程序的一部分;没有语法支持这个。交集类型的值是那些是所有类型Ti的值的对象,1in。