Java扩展泛型

时间:2013-06-07 03:29:07

标签: java generics

这可能吗?

class A<T extends Service<E extends Entity>>

这是因为我想获得服务和实体的类型。或者其他任何方式来做它?

目前我有一个设置服务的抽象方法,但如果我可以在参数中做得更好。

我也想知道如何在基类中传递参数:

我有ClassA,它扩展了扩展BaseClass1的SubBaseClass1。

所以:

class SubBaseClass1<E extends Entity, P extends Service<E>> { }

在BaseClass中,我想知道P和E的类型。

另一个问题,如果我有另一个类的getBaseClass方法,我将如何指定返回类型?:

public BaseClass<E extends Entity, T extends Service<E>> getBaseClass() { }

不工作。

找到答案:

public BaseClass<? extends IEntity, ? extends Service<?>> getBaseClass() { }

1 个答案:

答案 0 :(得分:6)

你会这样声明:

class A<E extends Entity, T extends Service<E>>

然后你可以拥有,例如:

A<Foo, Bar> a;

...其中FooEntity的子类,BarService<Foo>的子类。