其他分享
首页 > 其他分享> > 记录一次泛型的使用

记录一次泛型的使用

作者:互联网

之前着急写了一段代码,其中除了传入的类型不同之外,代码执行逻辑是一致的,所以我想优化一下,这里记录一下优化过程。
以前代码大致长这样
在这里插入图片描述
优化提取公共代码如下,主要使用到了泛型和反射的功能
在这里插入图片描述
现在就长这样了
在这里插入图片描述
优化的核心代码如下

public <T> List<T> resultDataList (List<T> list,List<Integer> collect) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{
		List<T> result = new ArrayList<>();
		for(int i=0;i<list.size();i++) {
			T t= list.get(i);
			String str = JSONObject.toJSONString(t);
			JSONObject json =JSONObject.parseObject(str);
			String mj = json.getString("mj");
			String xcrq = json.getString("xcrq");
			boolean contains = collect.contains(Integer.parseInt(json.getString("id")));
			Class<? extends Object> class1 = t.getClass();
			Field field = class1.getDeclaredField("isExpire");
			field.setAccessible(true);
			//1 取消提醒了 0 没有取消提醒
			field.set(t,contains?"1":"0");
			result.add(t);
		}
		return result;
    }

标签:一次,记录,代码,List,field,result,泛型,优化,class1
来源: https://blog.csdn.net/lovely960823/article/details/120783400