用反射去构建一个对象吧!
生活随笔
收集整理的這篇文章主要介紹了
用反射去构建一个对象吧!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
比如想把 A (以下稱modelWantToCast)的所有字段 賦值給B(以下稱modelCastTo) 【需要字段名一樣】
public static <T> T castModelToAnotherModel(Object modelWantToCast, Class<T> modelCastToClazz) {if (modelWantToCast == null) {return null;}// 粗暴地獲取A的所有方法Method[] dtoMethod = modelWantToCast.getClass().getDeclaredMethods();String getMethodName;T modelCastTo = null;try {// 實例化這個BmodelCastTo = modelCastToClazz.newInstance();} catch (InstantiationException | IllegalAccessException e) {e.printStackTrace();}for (Method getMethod : dtoMethod) {getMethodName = getMethod.getName();if (getMethodName.indexOf("get", 0) == -1) {continue;}...... 代碼在下面}return modelCastTo;}1、之前經常用的很逗的方法
- 獲取它的get set方法
- 從A中get出來
- 通過set方法set到A中去
2、后來發現還有更加粗暴的方法
- 獲取對象它get方法
- 從A中get出來
- 從field直接set進去
轉載于:https://my.oschina.net/anur/blog/1616022
總結
以上是生活随笔為你收集整理的用反射去构建一个对象吧!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring boot 修改 jacks
- 下一篇: 一阶低通滤波算法