天天看點

兩個對象值轉換的方法(BeanUtils.copyProperties與JSONObject.parseObject對比) - 提莫MQ

兩個對象值轉換的方法(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) 

編輯 

收藏 

舉報

兩個對象值轉換的方法(BeanUtils.copyProperties與JSONObject.parseObject對比) - 提莫MQ