1. 程式人生 > 其它 >轉換工具類

轉換工具類

工具類

package com.cog.utils;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 轉換工具類
 * @author jqs
 * @date 2021/12/29 9:32
 */
public class ConvertUtil {

    /**
     * Object to String[]
     *
     * @param obj
     * @return
     */
    public
static String[] obj2Arr(Object obj) { Field[] fields = obj.getClass().getDeclaredFields(); String[] arr = new String[fields.length]; for (int i = 0, len = fields.length; i < len; i++) { try { // 獲取原來的訪問控制權限 boolean accessFlag = fields[i].isAccessible();
// 修改訪問控制權限 fields[i].setAccessible(true); // 獲取在物件f中屬性fields[i]對應的物件中的變數 Object o = fields[i].get(obj); if (o != null) { arr[i] = o.toString(); } // 恢復訪問控制權限 fields[i].setAccessible(accessFlag); }
catch (Exception ex) { Log.error(ex.getMessage()); } } return arr; } /** * Object to Map * @param obj * @return */ public static Map<String, String> obj2Map(Object obj) { Map<String, String> map = new HashMap<String, String>(); // 獲取f物件對應類中的所有屬性域 Field[] fields = obj.getClass().getDeclaredFields(); for (int i = 0, len = fields.length; i < len; i++) { String varName = fields[i].getName(); //將key置為小寫,預設為物件的屬性 varName = varName.toLowerCase(); try { // 獲取原來的訪問控制權限 boolean accessFlag = fields[i].isAccessible(); // 修改訪問控制權限 fields[i].setAccessible(true); // 獲取在物件f中屬性fields[i]對應的物件中的變數 Object o = fields[i].get(obj); if (o != null) { map.put(varName, o.toString()); } // 恢復訪問控制權限 fields[i].setAccessible(accessFlag); } catch (IllegalArgumentException | IllegalAccessException e) { Log.error(e.getMessage()); } } return map; } /** * List to String[][] * @param list * @return String[][] */ public static String[][] list2Arr(List list) { if (list.isEmpty()) { Log.error("list為空"); return null; } String[][] resArr = new String[list.size()][]; int i = 0; for (Object o : list) { resArr[i] = ConvertUtil.obj2Arr(o); i++; } return resArr; } }