public class A<B> {
public func() {
B b = new B();
}
}
我从Netbeans收到此错误提示:
unexpected type
required: class
found: type parameter B
where Bis a type-variable:
B extends Object declared in class A
如何创建B类对象?
答案 0 :(得分:2)
由于type erasure,你无法做到这一点。看一下以下答案https://stackoverflow.com/a/6810709/860294
答案 1 :(得分:2)
答案 2 :(得分:0)
Java使用类型擦除。它不知道B的类,因此它不知道B类最终在运行时是否会有一个带有该组参数的构造函数。
答案 3 :(得分:0)
原因是B可以是接口或类(甚至是抽象的)。因此,在接口或抽象类的情况下,新的B()将无效。因此,不允许这样做。