java – 为什么泛型类型具有相同的签名?
我有以下泛型类:我尝试编译时为什么会出现以下错误:在我看来,两个构造函数共享相同的签名,尽管它们具有不同的泛型类型参数.为什么?更新我现在明白了这个问题.编译器需要一种方法来区分这两种类型.添加这样的约束对我的用例来说是可以的.所以我想补充一个问题:如何指定A和B这两种类型可能是不同的?不幸的是,您无法在构造函数中轻松解决此问题.您可以使用工厂方法替换重载的构造函数,并提供不同的名称,例如OrWithA和OrWithB: