兩個對象值轉換的方法(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方法的源碼而告終,希望各位看官能在評論多多講解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM