转换工具类
工具类
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; } }

浙公网安备 33010602011771号