泛型类型转换问题与代码

时间:2015-06-24 22:18:37

标签: java generics

我在以下代码的第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
}

2 个答案:

答案 0 :(得分:0)

您重写的方法的签名会告诉您返回ABC类型的对象,但实际返回的是Class类型。

如果你想坚持使用被覆盖的方法接口,则返回ABC的一个对象。

答案 1 :(得分:0)

您可以尝试通过调用Class来实例化由Class.newInstance()对象表示的类型的实例。这仅适用于具有简单no-arg默认构造函数的类。没有完全通用的方法来实例化Class,因为并非所有类都可以实例化。