我在以下代码的第4行得到了类转换问题。如何从泛型类转换为ABC类型。如果我做错了什么,请忽略并启发我。
@Override
public ABC<INPUT> getCode()
{
return getInputCode(); -- This returns type Class which is Class<? extends ABC<INPUT>>
}
;
protected Class<? extends ABC<INPUT>> getInputCode()
{
return (Class)SomeSerialization.class;
}
class SomeSerialaization implements ABC,Serializable{
private static final long serialVersionUID = 1276372676372L;
//logic
}
答案 0 :(得分:0)
您重写的方法的签名会告诉您返回ABC类型的对象,但实际返回的是Class类型。
如果你想坚持使用被覆盖的方法接口,则返回ABC的一个对象。
答案 1 :(得分:0)
您可以尝试通过调用Class
来实例化由Class.newInstance()
对象表示的类型的实例。这仅适用于具有简单no-arg默认构造函数的类。没有完全通用的方法来实例化Class
,因为并非所有类都可以实例化。