0
4

4 回答 4

2

由于类型擦除,您无法做到这一点。看看下面的答案https://stackoverflow.com/a/6810709/860294

于 2013-03-24T02:49:55.070 回答
2

BinA<B>只是一个类型参数。您不能创建实例化参数。您只能创建实际类型的实例。

但是您可以声明将该实例作为参数的方法public func(B b)

我建议您阅读有关泛型的教程。

于 2013-03-24T02:50:19.920 回答
0

Java 使用类型擦除。它不知道 B 的类,因此它不知道任何 B 类最终在运行时是否将具有带有该组参数的构造函数。

于 2013-03-24T02:51:40.737 回答
0

这样做的原因是 B 可以是接口或类(甚至是抽象类)。因此, new B() 在接口或抽象类的情况下将无效。因此,这是不允许的。

于 2013-03-24T06:48:31.543 回答