我正在学习泛型,虽然学习时遇到了一个示例代码,根据我应该打印'ok'
然而,我正在追求极限。
Exception in thread "main" java.lang.ClassCastException: Test$B cannot be
cast to java.util.Collection
有人可以帮我解决这个问题。
public class Test {
@SuppressWarnings("unchecked")
public static <U extends B> U get() {
return (U) new B();
}
public static void main(String[] args) {
A<B> a = new A<>(get());
}
static class A<T> {
A(Collection<? extends T> lst) {
System.out.println("Bad constructor");
}
A(T e) {
System.out.println("ok");
}
}
static class B {
}
}