使用泛型类作为参数的Java方法

时间:2015-12-28 09:52:02

标签: java class generics methods arguments

可以在java中使用带有argumentsmet的泛型类编写一个方法

示例:

public void Transfer (class c){
    class.Search();
}

1 个答案:

答案 0 :(得分:2)

是的,你需要这样做:

public class Foo<T> {
    public void Transfer(T c) {
        c.Search();
    }
}

由于您似乎想要调用特定方法,因此您可能希望定义一个提供您所使用的方法的接口,并将通用约束与其绑定:

public interface MyInt {
    void Search();
}

....
public class Foo<T extends MyInt> {
    public void Transfer(T c) {
        c.Search();
    }
}

可替换地:

public class Foo {
    public void Transfer(MyInt c) {
        c.Search();
    }
}

最后一个示例取消了泛型并使用了接口,这有时会产生更易于遵循的代码,具体取决于您要实现的目标。