我想写的方法可以接受类型a.A或b.B的参数。 目前,它的实现:不同类型的方法参数
import a.A;
import b.B;
...
public void doSth(A arg) {
SpecificClass.specificMethod(arg);
}
public void doSth(B arg) {
SpecificClass.specificMethod(arg);
}
我想有一个通用的方法“doSth”使用通配符和只接受A.A或B.B。 重要信息a.A和b.B不是彼此的子类型。唯一的常见类型是java.lang.Object。
任何帮助?
我不确定是否无法通过通配符执行此操作。我发现常常使用'&'符号来限制参数必须实现/扩展'A&B'类。所以也许有可能用'|'做到这一点,但我不知道如何... – bontade
@bontade泛型可以定义为类型的交集(使用'&'),但不能作为类型的联合。对于精美的打印,您可以查看[JLS 4.4](http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4-200)。 – assylias
太糟糕了@ @assylias谢谢你的帮助 – bontade