我有一个公共(public)方法。公共(public)方法声明为
public Object createUIBean(Class c, HttpServletRequest request) {
Object o = c.newInstance() ;
setRequestParams(o, request) ;
return o ;
} // try catch block omitted for reasons of brevity
调用此方法时,我必须转换返回结果。有没有办法可以编写这个方法,这样我就不需要转换返回的对象。
最佳答案
可以让方法泛型化,可以使用泛型类型参数作为返回类型,类型参数为参数的类型 c
, Class
(目前是原始的)。
public <T> T createUIBean(Class<T> c, HttpServletRequest request) {
T o = c.newInstance();
setRequestParams(o, request) ;
return o ;
}
此外,Class.forName(c.getName()).newInstance() ;
对于创建一个简单的实例来说太多了,而 c.newInstance()
就可以做到工作。
关于java - 传递一个类参数并返回该类的对象(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127240/