Java List对象拷贝(属性相同)

文章目录

    • 方法一
    • 方法二

方法一

  • 循环originList
  • 用Fastjson或者Gson把每一个元素转为JSON字符串
  • 再把JSON字符串转为Java目标实体对象
  • 把目标实体对象加入到集合中
    Gson代码如下:
List<T> distinList = new ArrayList<>();
Gson gson = new Gson();
for (Object  obj : originList) {
	T t = gson.fromJson(gson.toJson(obj),T.class);
	// do something
	distinList.add(t);
}

方法一适用于需要对单个属性处理的场景,如果不需要对单个属性单独处理参考方法二。

方法二

  • 用Fastjson或者Gson把list转为JSON字符串
  • 再把JSON字符串转为Java实体集合对象
    Gson代码如下:
Gson gson = new Gson();
List<T> distinList = gson.fromJson(gson.toJson(originList),new TypeToken<List<T>>(){}.getType());

你可能感兴趣的:(java,list)