Java中回调函数的泛型类中的变量数
我有一个用于grpc请求的通用类,如下所示:
abstract class GenericRunnable<T> {
abstract public void callback(T result);
}
目标是像这样扩展它:
abstract class MyRunnable extends GenericRunnable<String, Integer, String> {
...
}
然后我可以使用以下方法实现MyRunnable的匿名类:
@Override
public void callback(String a, Integer b, String c) {
...
}
这样的东西可以得到吗?因为每个grpc请求都有不同的返回值,所以最好有这个。例如,一个请求返回年龄,另一个返回名字和姓氏,等等
另一种方法是为每个MyRunnable
定义一个returnClass
,并将其传递给<T>
# 1 楼答案
这似乎是不可能的,尽管您可以将一系列类型包装到某个容器或对象中:
# 2 楼答案
String, Integer, String
是三个参数,而GenericRunnable
使用一个参数把它们归纳成一个类
并将该类用作泛型参数
# 3 楼答案
您可以
scala.Tuple22
将参数化输入设置为最多22个参数化类