我在使用Generics定义Java5方法时遇到了一些问题。
我试验了一下,我可以定义一个方法如下:
public <R extends Runnable & MyInterface, T> void submit(R runnable, T task);
因此,submit
只接受R
实现接口的类对象的实例Runnable
和MyInterface
. 现在,假设我想做如下的事情:
public <C extends Callable & MyInterface, T> submit(C<T> callable);
其中 C 是 a Callable
,它也实现MyInterface
并具有 type 的返回值T
。在这种情况下,IDE 会在方法的固件中报告错误:
required: class
found: type parameter C
where C,T are type-variables
定义第二种submit
方法的正确方法是什么?
PS:我不知道这个标题是不是最好的。请在确定问题类型后随时改进标题!