最近在调LayUI前端框架,在js里面传给了后台一个json字符串,因为传输的参数是一个对象,到java后台就成了String字符串,所以就需要把str转成model,方便后续进行查询,插入等操作;这里就用到了java中的泛型,主要是泛型方法,主要的代码如下所示:
public enum LayUIStr2Model {
INSTANCE;
private static Logger logger = Logger.getLogger(LayUIStr2Model.class);
/*将str转换为对象*/
@SuppressWarnings("unchecked")
public <T> T switchStrToObject(String str,Class<T> myclass){
T res = null;
try{
JSONObject jsonObject2=JSONObject.fromObject(str);
res = (T)JSONObject.toBean(jsonObject2,myclass);
}catch(Exception e){
logger.error("str转换成对象出错!错误信息为"+e);
}
return res;
}
}
调用这个方法的的方法为
public String getLayUIData(String params) {
String [] param = params.split("#");
VehicleRfidInfo aim =LayUIStr2Model.INSTANCE.switchStrToObject(param[0],VehicleRfidInfo.class);
String limit = param[param.length-2];
String page = param[param.length-1];
return vehicleRfidInfoDS.getLayUIData(aim, Integer.parseInt(limit), Integer.parseInt(page));
}
主要用到了java的泛型,泛型方法等