class A <T> {
private T field;
}
我知道我可以使用 < ... extends ... > 将类型参数强制为某种有界类型,但是如何强制类型参数 T 仅为 String、Integer、SomeClassB、SomeEnumC 而不能用其他东西参数化它?
A<SomeClassB> a = new A<SomeClassB>();
会是合法的。
A<SomeClassX> a = new A<SomeClassX>();
将是非法的。
我已经尝试使用
T instanceof SomeEnumC
在类 A 的构造函数中,但它非常混乱。