0

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

  1. 一个界面。
  2. 实现该接口的类。

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

有办法吗?如果没有,还有什么选择?

是否可以选择获取作为接口的通用参数?我该如何申报??

4

2 回答 2

5

像这样的东西??

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

    }

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

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

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

于 2012-11-27T10:47:25.893 回答
2
public <T extends Interface> T myMethod(Interface I, Class<T> myClass) () {...}

如果您的方法返回 T

于 2012-11-27T10:47:43.520 回答