Map转换Object

Posted on 2019-06-26 11:13  毋丢丢  阅读(1211)  评论(0)    收藏  举报
	/**
	 * 
	 * <b>方法说明:</b>
	 * <ul>
	 * 将map转换成Object </br>
	 * 对应key如果和Object的属性名相同,则赋值
	 * </ul>
	 * 
	 * @param map
	 * @param object
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 */
	public static void convert(Map<String, Object> map, Object object)
			throws IllegalArgumentException, IllegalAccessException {
		// 检查是否空值
		if (map == null || map.isEmpty()) {
			return;
		}

		// 获取Object属性数组
		Field[] fields = object.getClass().getDeclaredFields();
		// 遍历数组
		for (Field field : fields) {
			// 遍历map
			for (String key : map.keySet()) {
				// 如果map的key值和Object属性值相同   去空格并转换成大写判断
				if (field.getName().trim().toUpperCase().equals(key.trim().toUpperCase())) {
					// 判断是否可取
					if (!field.isAccessible()) {
						field.setAccessible(true);
					}
					// 赋值
					field.set(object, map.get(key));
					//跳出循环
					break;
				}
			}
		}
	}