最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 通過反射遍歷所有字段修改值的實例代碼

 更新時間:2021年05月18日 08:39:19   作者:如漩渦  
這篇文章主要介紹了java 通過反射遍歷所有字段修改值,通過java 的反射,遍歷所有字段,進行一個判斷,取出來的值是帶有圖片鏈接的,進行操作,省去了很多代碼,理解也很容易,下面跟隨小編看下實例代碼吧

先給大家介紹下java遍歷所有字段修改值的代碼,具體內容詳情如下所示:

java 通過反射遍歷所有字段修改值,避免重復set、get 比如一張表里的字段十幾個,而這個表里的圖片存儲字段有八九個,在返回這個實體類的時候,要對圖片進行加密或者其他操作,那就要在實體類查詢結果出來后,一個個的get修復,再set賦值,代碼量很多,另外如果有多個接口用到,就會產生重復代碼; 通過java 的反射,遍歷所有字段,進行一個判斷,取出來的值是帶有圖片鏈接的,進行操作,省去了很多代碼,下面貼代碼

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class ClassUtil {
   
    private  final Logger logger = LoggerFactory.getLogger(getClass());

    /**
     * 通過反射所有字段,帶有圖片的字段,重新賦值
     *
     * @param obj 對象
     */
    public void setImageValue(Object obj) {
        try {
            Class aClass = obj.getClass();
            Field[] fields = aClass.getDeclaredFields();
            for (Field field : fields) {
                PropertyDescriptor pd = new PropertyDescriptor(field.getName(),
                        aClass);
                // 獲取get方法
                Method getMethod = pd.getReadMethod();
                // 獲取set方法
                Method setMethod = pd.getWriteMethod();
                // 通過get方法獲取到值
                Object o = getMethod.invoke(obj);
                if (o != null) {
                    String s = o.toString();
                    if (s.contains("jpg")) {
                        // 業(yè)務操作
                        // 更新為新的值
                        setMethod.invoke(obj, builder.toString());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 }

ps:下面看下Java數(shù)組遍歷的幾種方式

數(shù)組遍歷方式參考:

方法一:for循環(huán)遍歷

  public static void main(String[] args) {
        int Arr[][]={{1,2,3},{4,5,6}};
        for (int i = 0; i < Arr.length; i++) {
            for (int j = 0; j < Arr[i].length; j++) {
                System.out.print(Arr[i][j]+" ");
            }
        }
    }

方法二:foreach遍歷

 int a[] = {1,2,3,4} ;
        for (int element:a){
            System.out.println(element);

        }

方法三:Arrays工具類中toString (或deepToString)靜態(tài)方法遍歷

  int a[] = {1,2,3,4} ;
        int b[][] = {{3,4},{1,2}};
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.deepToString(b));

以上就是java 通過反射遍歷所有字段修改值的實例代碼的詳細內容,更多關于java遍歷所有字段修改值的資料請關注腳本之家其它相關文章!

相關文章

  • 解析Spring Data JPA的Audit功能之審計數(shù)據(jù)庫變更

    解析Spring Data JPA的Audit功能之審計數(shù)據(jù)庫變更

    Spring Data JPA 提供了Audit審計功能,用來記錄創(chuàng)建時間、創(chuàng)建人、修改時間、修改人等,下面來詳細講解下審計數(shù)據(jù)庫變更
    2021-06-06
  • Java單表實現(xiàn)評論回復功能(多種實現(xiàn)方式)

    Java單表實現(xiàn)評論回復功能(多種實現(xiàn)方式)

    這篇文章主要介紹了Java單表實現(xiàn)評論回復功能,大家都知道評論功能有多種實現(xiàn)方式,本文逐一給大家詳細講解,需要的朋友可以參考下
    2023-03-03
  • spring源碼下載、編譯、debug的詳細教程

    spring源碼下載、編譯、debug的詳細教程

    這篇文章主要介紹了spring源碼下載、編譯、debug的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • JVM中的守護線程示例詳解

    JVM中的守護線程示例詳解

    這篇文章主要給大家介紹了關于JVM中守護線程的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • Java中駝峰命名與下劃線命名相互轉換

    Java中駝峰命名與下劃線命名相互轉換

    這篇文章主要介紹了Java中駝峰命名與下劃線命名相互轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • SpringCloud整合OpenFeign問題

    SpringCloud整合OpenFeign問題

    這篇文章主要介紹了SpringCloud整合OpenFeign問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java設計模式之策略模式

    Java設計模式之策略模式

    這篇文章介紹了Java設計模式之策略模式,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • 詳解java中命令行模式的實現(xiàn)

    詳解java中命令行模式的實現(xiàn)

    命令模式是一種行為設計模式,它允許您將請求封裝為對象,以便您可以將其參數(shù)化、隊列化、記錄和撤銷,本文主要為大家介紹一下java實現(xiàn)命令模式的示例代碼,需要的可以參考下
    2023-09-09
  • 教你安裝eclipse2021并配置內網(wǎng)maven中心倉庫的圖文詳解

    教你安裝eclipse2021并配置內網(wǎng)maven中心倉庫的圖文詳解

    本文能通過圖文并茂的形式給大家介紹安裝eclipse2021并配置內網(wǎng)maven中心倉庫的相關知識,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-09-09
  • spring?@Conditional的使用與擴展源碼分析

    spring?@Conditional的使用與擴展源碼分析

    這篇文章主要介紹了spring?@Conditional的使用與擴展,這里需要注意如果Condition返回的是false,那么spirng就不會對方法或類進行解析,具體源碼分析跟隨小編一起看看吧
    2022-03-03

最新評論

乐昌市| 班戈县| 凤台县| 潢川县| 崇仁县| 长子县| 左贡县| 宁津县| 眉山市| 柘城县| 桓仁| 绵阳市| 宿松县| 盐源县| 凤城市| 田阳县| 偏关县| 怀集县| 武清区| 海宁市| 湖北省| 梧州市| 桂林市| 仲巴县| 克什克腾旗| 区。| SHOW| 微博| 宁强县| 普兰县| 武平县| 东阳市| 那曲县| 龙州县| 罗田县| 沁源县| 秦安县| 横峰县| 格尔木市| 郸城县| 织金县|