Java泛型语法问题

时间:2012-11-27 10:43:13

标签: java generics

我想编写一个获取2个参数的方法:

  1. 一个界面。
  2. 实现该接口的类。
  3. 我希望它是通用的(编译时安全类型)。

    有办法吗? 如果不是,那么替代方案呢?

    是否有选项可以获得作为接口的通用参数?我该声明吗?  ?

2 个答案:

答案 0 :(得分:5)

这样的事情?

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

    }

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

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

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

答案 1 :(得分:2)

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

如果您的方法返回T