这对于你们中的许多人可能是显而易见的,但是,

如何将此(示例)函数转换为使用泛型:

private Object makeNewInstance(Class clazz) throws InstantiationException, IllegalAccessException {
    return clazz.newInstance();
}


我期待这样的事情:

private <T> T makeNewInstance(T clazz) throws InstantiationException, IllegalAccessException {
    return clazz.newInstance();
}


但是参数T必须是一个类,并向T返回T的实例。

任何帮助,将不胜感激。

最佳答案

将参数类型更改为Class<T>

private <T> T makeNewInstance(Class<T> clazz) throws InstantiationException, IllegalAccessException {
  return clazz.newInstance();
}


有关Class<T>newInstance()的更多信息,请参见this

另外,根据您的上下文,您可以考虑将makeNewInstance()方法设为静态。

关于java - 使用泛型返回参数类的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8325696/

10-11 01:12