2012-11-27 85 views
0

我想写得到2个参数的方法:Java泛型语法问题

  1. 的接口。
  2. 实现该接口的类。

我希望它是通用的(编译时安全类型)。

有没有办法? 如果没有,最新的选择是什么?

是否有一个选项可以获得一个接口的泛型参数?我该申报吗? ?

+6

发布您的代码。 –

回答

5

有些事情是这样的?

public <I, K extends I> void method(I i, K k){ 

    } 

在上述方法的第一个参数是一个接口,并且第二参数是实现该接口的任何类。

Interface1 i1; 
    method(i1, class1); //class1 implements Interface1 

在泛型中,接口实现和类扩展使用extends关键字来表示。泛型世界中没有implements关键字。

+0

看起来不错..只是扩展是类,我可以使用实现吗? –

+0

在泛型中的扩展也是用于接口 – Jerome

2
public <T extends Interface> T myMethod(Interface I, Class<T> myClass)() {...} 

,如果你的方法返回牛逼