问题描述
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){List<String>list=Arrays.asList("1","2","3");System.out.println(getFromRequest(list,ArrayList<String>.class));}publicstatic<T>TgetFromRequest(Objectobj,Class<T>clazz){return(T)obj;}}
场景是这样,往httprequest里存入了一些对象后,常规取出还要再强转成相应的类型很是不便,所以想用泛形方法来实现自动的转换,以上getFromRequest方法对集合类型却无效,如何解决这个问题,而且即使有效的时候,如clazz是个String.class之类的,也感觉怪怪的,clazz参数必须要用吗?
解决方案
解决方案二:
publicstatic<T>TgetFromRequest(Tobj){returnobj;}
这样可以么
解决方案三:
引用1楼keeya0416的回复:
Javacodepublicstatic<T>TgetFromRequest(Tobj){returnobj;}这样可以么
不行呀,实际是用一个key从request里取出数据,类型是object
解决方案四:
publicstatic<T>TgetFromRequest(Stringkey,Class<T>T){return(T)request.getAttribute(key);}
代码如上。
解决方案五:
这个不能实现的吧
时间: 2024-11-03 00:08:20