[英]A Java method that can only be called by its own class or by other subclasses
[英]Using Wildcard to limit the function to take only class and its subclasses
public <T extends Exception> void testFunction(T t) {
}
这与编写 testFunction(Exception t) 相同。 我在上面使用泛型只是为了表明 java 允许这样做。
但是 Java 不允许使用通配符做同样的事情
public void testFunction(<? Extends Exception> t) {
}
我如何在这里使用通配符? 这样做没有真正的目的。但还是想从语法的角度看看是否有可能的方法。
public <T extends Integer> void testFunction(T t) { ... }
此函数接受Integer
或任何子类型(如果可能存在)。 它不会强迫你提供的一个亚型Integer
。 因此它接受完全相同的类型范围
public void testFunction(Integer i) { ... }
实际上没有办法在 Java 中指定严格的子类型(排他的上类型界限)。
您不需要泛型(即使您用非最终类替换Integer
):
public void testFunction(Integer t) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.