简体   繁体   English

如何将类型参数化接口传递给方法?

[英]How to pass a type parameterized interface to a method?

How should I pass a type parameterized interface to a method because java compiler errors out on following code saying "Can not resolve symbol T" in "callTwoParFunc" method signature!我应该如何将类型参数化接口传递给方法,因为 Java 编译器在以下代码中出错,在“callTwoParFunc”方法签名中显示“无法解析符号 T”!

class Test{

    interface TwoParFunc<T>{
        T func(T a, T b);
    }

    public void callTwoParFunc(TwoParFunc<T> f, T a, T b) {
        f.func(a, b);
    }
}

You need to give the parameter a name你需要给参数一个名字

public <T> void callTwoParFunc(TwoParFunc<T> param, T a, T b) {
    param.func(a, b);
}

You need to add the <T> parameter to the method signature:您需要将<T>参数添加到方法签名中:

public <T> void callTwoParFunc(TwoParFunc<T> f, T a, T b) {
    f.func(a, b);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM