package com.lee; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; public final class MapUtil { public static void addStringToMap(Map<String, Object> map, String key, String value) { if (StringUtils.isNotBlank(value)) { map.put(key, value); } } public static void addValueToMap(Map<String, Object> map, String key, Object value) { if (value != null) { map.put(key, value); } } public static Double getDoubleValue(Map<String, Object> map, String key) { BigDecimal decimal = getMapValue(map, key, BigDecimal.class); return decimal == null ? null : decimal.doubleValue(); } public static Date getDateValue(Map<String, Object> map, String key) { return getMapValue(map, key, Date.class); } public static Integer getIntegerValue(Map<String, Object> map, String key) { return getMapValue(map, key, Integer.class); } public static String getStringValue(Map<String, Object> map, String key) { return getMapValue(map, key, String.class); } public static <T> T getMapValue(Map<String, Object> map, String key, Class<T> clazz) { Object value = map.get(key); if (value == null) { return null; } return clazz.cast(value); } public static Object getMapValueWithDefault(Map<String, Object> data, String key, Object defaultVal) { Object value = data.get(key); if (value == null || StringUtils.isBlank(value.toString())) { return defaultVal; } return value; } public static Map<String, String> describeObject(Object object) throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{ Map<String,String> map = new HashMap<String,String>(); BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); if (propertyDescriptors != null && propertyDescriptors.length > 0) { String propertyName = null; // object属性名 Object propertyValue = null; // object属性值 for (PropertyDescriptor pd : propertyDescriptors) { propertyName = pd.getName(); if (!propertyName.equals("class")) { Method readMethod = pd.getReadMethod(); propertyValue = readMethod.invoke(object, new Object[0]); map.put(propertyName.toString(), propertyValue.toString()); } } } return map; } }
相关推荐
mapUtil1.js
`MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将详细探讨`MapUtil`工具类可能包含的功能以及其背后的原理。 `MapUtil`工具类通常会提供一些常见的实用方法,以增强`Map`对象的功能。...
mapUtil js工具类
GPS点之间的距离 点到直线的距离 计算两个经纬度之间的距离 计算点c与线段ab的关系数据,采用向量点积的方法
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,FontUtil,ImageUtil,IOUtil, IPUtil, MapUtil,MailUtil, NumberUtil,...
在Java编程中,数据转换是常见的操作之一,特别是在处理数据绑定和对象映射时。`MapUtils`工具类就是为了解决这样的问题而设计的,它简化了`Map`对象和实体类之间的转换过程。本篇文章将深入探讨`MapUtils`工具类的...
在Java编程中,Map接口是集合框架的重要组成部分,它提供了键值对的存储方式,广泛应用于数据处理和对象关系映射。MapUtils类通常是为了提供对Map接口的便捷操作和实用方法而创建的辅助工具类。...
主要实现bean和map之间的相互转换,主要提供两个方法beanToMap将bean转换成Map 和mapToBean 将Map转换成bean 每次下载都没有积分,不差积分的大神赞助点呗 写了这一小段代码,供新手学习,大神就别拍砖了 身板弱扛...
这里提供一个简单的工具类`Pojo2MapUtil`: ```java import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class Pojo2MapUtil { public static <T> Map, Object> ...
5. 集合工具:扩展了Java内置的集合类,如ListUtil、MapUtil等,提供了更多的实用方法。 6. 网络工具:支持TCP、UDP通信,HTTP请求,DNS解析等网络操作。 7. 加密解密工具:包含MD5、SHA、AES、DES等多种加密算法...
此外,可能会有针对集合操作的工具类,如`ListUtil`、`MapUtil`,它们提供了对Java集合框架的扩展和优化。 这个合集可能还包括线程池管理工具,如`ThreadPoolUtil`,用于创建和管理线程池,提高多线程环境下的性能...
`common-util`模块是Agile Framework Common Util的核心部分,它包含了各种通用的工具方法,除了`ObjectUtil`外,可能还包括`ArrayUtil`、`CollectionUtil`、`MapUtil`等,分别提供了对数组、集合和映射的操作支持。...
在JavaScript中,原生的`Map`对象虽然提供了丰富的功能,但其操作方式与Java中的`Map`有所不同,不那么直观。为了使习惯于Java开发的程序员在JS中也能便捷地操作映射数据结构,我们可以创建一个名为`UtilMap`的对象...
8. **集合操作**:ListUtil和MapUtil可能提供了对集合操作的支持,如查找、过滤、合并等。 9. **数据存储**:PreferencesUtil和SharedPreferencesUtil通常用于轻量级的数据存储,如用户偏好设置。 10. **文件操作*...
5. **MapUtil**:对于Map接口的操作,包括创建Map,检查键值对,合并Map,转换Map等。例如,`putAllIfAbsent()`在Map中添加键值对,但只在键不存在时才添加。 6. **NumberUtil**:处理数字相关的操作,可能有数字...
3. **集合工具类**:如ListUtil、MapUtil、SetUtil等,它们提供了一组方便的集合操作方法,如清空、复制、检查空集、合并集合等。这些工具类可以帮助我们更高效地管理和操作Java集合框架。 4. **IO流工具类**:如...
Map工具(MapUtil)、Base64编码解码(Base64)、Base32编码解码(Base32)和CSV文件处理工具(CsvUtil)等为编码转换和文件操作提供了实用工具。 可复用字符串生成器(StrBuilder)、Unicode编码转换工具...
- **org.jxstar.util.MapUtil**: 提供Map操作的工具方法。 - **org.jxstar.util.StringUtil**: 提供字符串操作的工具方法。 - **org.jxstar.util.key.KeyCreator**: 键值生成工具类。 - **org.jxstar.util.key.Code...