是否可以传递类类型并用作返回类型?

时间:2014-03-21 19:11:41

标签: java generics

我有一个使用解析器的方法,解析器调用示例是:

SpecificClass ret = parser.parse(getOutputStream(),SpecificClass.class);

请注意,返回类型与指定为paramether的返回类型相同。

现在,我想创建一个执行此调用的方法,并返回我想要的特定类类型。 例如:

public $$some construct I don't know$$ invokeParser(Class<?> c){
      //... operations....
      return parser.parse(getOutputStream(),c); //c works, I can pass it
}

有可能吗?

1 个答案:

答案 0 :(得分:12)

您可以使该方法通用。使用<T>声明您的类型参数并返回T

public <T> T invokeParser(Class<T> c) {