反射运用之Object和Map转换

该博客探讨了如何使用反射将Object对象转换为Map,以及如何从Map转换回Object,同时提到了考虑属性名称和注解成员作为Map的键。内容涵盖了Object到Map的转换方法,Map到Object的转换过程,以及在转换中处理注解的策略。
摘要由CSDN通过智能技术生成

包含了属性名称和注解成员作为key两种Map

Object=>Map

package util;

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

public class FieldMapAssembler {
	/**
	 * 将传入的对象转换为属性名称到值的映射
	 * @param srcObj 对象
	 * @return 属性名称到值的映射
	 */
	public static <T> Map<String,Object> assembleFieldNameMapByObject(T srcObj) {
		Map<String,Object> targetMap = new HashMap<>();
		try {
			Class<?> srcClazz=srcObj.getClass();
			Field[] fields = srcClazz.getDeclaredFields();
			for(Field field:fields) {
				field.setAccessible(true);
				String fieldName = field.getName();
				Object fieldValue=field.get(srcObj);
				targetMap.put(fieldName, fieldValue);
			}
			return targetMap;
		} catch (IllegalAccessException | SecurityException e) {
			e.printStackTrace();
			return null;
		}
	}
	/**
	 * 将传入的对象转换为属性数据库名称到值的映射
	 * @param srcObj 对象
	 * @return 属性数据库名称到值的映射
	 */
	public st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值