Java中泛型类型的实例

时间:2016-12-13 20:08:58

标签: java generics

我想写一点"工厂"对于许多具有相同参数集的方法。到目前为止,这是我的代码(这是错误的,因为IDE赢了它不会让它通过)

 public <T> T callServer(String param1, String param2, String param3){
    if (T instanceof Type1 ){
        return (T) callFunctionServerType1(param1,  param2, param3);
    }
    else if (T instanceof Type2)
        return  (T) callFunctionServerType2(param1,  param2, param3);
    return null;
}

IDE表示 表达式是 ,并且在if语句(if(T ...))之后强调每个T表。你能帮我解决这个问题。

1 个答案:

答案 0 :(得分:-1)

您可以传递所需的T类作为附加参数

public <T> T callServer(String param1, String param2, String param3, Class<? extends T> returnClass)
{
  if (Type1.class.isAssignableFrom(returnClass)) {
     ...