【发布时间】:2016-10-27 09:41:37
【问题描述】:
如何创建一个通用类/方法,在类型列表中排除通用类型?这是我想要的伪代码:
class Foo {
Object arrayOfTypes[] = {Integer, Double, Boolean};
public <T in arrayOfTypes> void Bar() {
...
}
}
因此,T 必须是整数、双精度或布尔值。此外,唯一可以使用的类来自库,因此我无法编辑它们以扩展某些类并执行<T extends Car> 之类的操作。有没有办法做到这一点?
【问题讨论】:
-
这是不可能的。泛型纯粹用于编译时的完整性检查。它们在运行时不存在,因此代码对 JVM 没有意义。你能解释一下你想要完成什么吗?可能是重载方法可以解决问题。