2016-12-28 85 views
0

我是新来的java我有一套扩展AbsEntity类的类。我有一个抽象方法,它应该返回一个Class对象,并且该类对象应该是E extends AbsEntity type ...这是我如何尝试申报如何声明一个返回泛型类的方法?

abstract Class<E externds AbsEntity> E getAbsEntity(); 

这一声明通过我的错误其实我不知道汉王宣布...卫生组织的返回类型的方法应该是类类型的为E扩展AbsEntity plz帮助

+0

示例使用Java泛型http://stackoverflow.com/documentation/java/92/generics/5954/ t-super-t-and-extends-t#t = 2016122805233370177 – ravthiru

+0

http://stackoverflow.com/questions/450807/how-do-i-make-the-method-return-type-generic – 2016-12-28 05:26:15

+1

我想你想要的东西像'static E getAbsEntity(Class cls)'然后'cl s.newInstance()'会给你一个实例。 –

回答

0

应申报在返回类型之前,如下所示:

abstract <E extends AbsEntity> Class<E> getAbsEntity(); 

在Oracle文档中查看here

希望这会有所帮助!

1

事情是这样的:

public <E extends AbsEntity> E yourMethod() { 
    //yourObject 
    return yourObject; 
} 
0

您可以使用下面的代码:

static <E> E yourMethod(){ 
    AbsEntity absEntity = new AbsEntity(); 
    return (E)absEntity; 
}