兩個對象值轉換的方法(BeanUtils.copyProperties與JSONObject.parseObject對比)
将源對象指派到目标對象方法:
方法一:BeanUtils.copyProperties(源對象, 目标對象); //org.springframework.beans.BeanUtils
方法二:目标對象 =JSONObject.parseObject(JSON.toJSONString(源對象), 目标對象.class); //com.alibaba.fastjson.JSON; com.alibaba.fastjson.JSONObject;
實測結果方法一的耗時為方法二的2-3倍。
附測試代碼:
public class TestM {
public static void main(String[] args) {
Testb testa=new Testb();
Testa testb=new Testa();
long a=System.currentTimeMillis();
BeanUtils.copyProperties(testa, testb);
System.err.println("方法一耗時:"+(System.currentTimeMillis()-a));
long b=System.currentTimeMillis();
Testa testc= JSONObject.parseObject(JSON.toJSONString(testb), Testa.class);
System.err.println("方法二耗時:"+(System.currentTimeMillis()-b));
}
測試結果:
方法一耗時:214
方法二耗時:87
關于兩者的差異因為沒有看到alibaba的JSONObject.parseObject方法的源碼而告終,希望各位看官能在評論多多講解。
posted on
2019-06-25 10:03
提莫MQ
閱讀(2436)
評論(0)
編輯
收藏
舉報