天天看點

java兩個不同對象的list copy相同的屬性

java中,有兩個list,list和list

,AB對象的屬性略有不同,現在想把A中的屬性複制到B中,我們可以通過fastJOSN的方式友善的實作
package com.hanshow.wise.base.operate.util;

import java.util.List;

import com.alibaba.fastjson.JSON;

/**
 * 兩個對象或集合同名屬性指派

 */
public class ObjectConversion {
	
	/**
	 * 從List<A> copy到List<B>
	 * @param list List<B>
	 * @param clazz B
	 * @return List<B>
	 */
	public static <T> List<T> copy(List<?> list,Class<T> clazz){
		String oldOb = JSON.toJSONString(list);
		return JSON.parseArray(oldOb, clazz);
	}
	
	/**
	 * 從對象A copy到 對象B
	 * @param ob A
	 * @param clazz B.class
	 * @return B
	 */
	public static <T> T copy(Object ob,Class<T> clazz){
		String oldOb = JSON.toJSONString(ob);
		return JSON.parseObject(oldOb, clazz);
	}
}