public <T extends Exception> void testFunction(T t) {
}
这与编写testFunction(Exception t)相同。我上面使用泛型来表明java允许这样做。
但Java不允许使用通配符
public void testFunction(<? Extends Exception> t) {
}
我如何在这里使用通配符?这样做没有真正的目的。但是仍然希望从语法的角度来看是否有可能的方法。
答案 0 :(得分:2)
public <T extends Integer> void testFunction(T t) { ... }
此函数接受Integer
或任何子类型(如果存在)。它不强制您提供Integer
的子类型。因此它接受与
public void testFunction(Integer i) { ... }
实际上没有办法在Java中指定严格的子类型(独占的上限类型)。
答案 1 :(得分:1)
您不需要泛型(即使您使用非最终类替换Integer
):
public void testFunction(Integer t) {