这对于你们中的许多人可能是显而易见的,但是,
如何将此(示例)函数转换为使用泛型:
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/