import java.io.Serializable; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author * 2017-09-25 */ public class MapConvertUtil implements Serializable{ /** * 序列化 */ private static final long serialVersionUID = -1581756576497606672L; private static final Logger LOGGER = LoggerFactory.getLogger(MapConvertUtil.class); public static Double getDoubleValue(Map<String, Object> map, String key) { BigDecimal value = getMapValue(map, key, BigDecimal.class); return value == null ? 0d : value.doubleValue(); } public static Float getFloatValue(Map<String, Object> map, String key) { BigDecimal value = getMapValue(map, key, BigDecimal.class); return value == null ? 0f : value.floatValue(); } public static Date getDateValue(Map<String, Object> map, String key) { Object value = map.get(key); return value == null ? new Date() : new Date(value.toString()); } public static Integer getIntegerValue(Map<String, Object> map, String key) { Object value = map.get(key); if(value != null) { try { return Integer.valueOf(value.toString()); } catch (Exception e) { LOGGER.error("exception message:", e); return 0; } } return 0; } public static Long getLongValue(Map<String, Object> map, String key) { Object value = map.get(key); if(value != null) { try { return Long.valueOf(value.toString()); } catch (Exception e) { LOGGER.error("exception message:", e); return 0l; } } return 0l; } public static String getStringValue(Map<String, Object> map, String key) { String value = getMapValue(map, key, String.class); return value == null ? "" : value; } 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 Map<String, Object> PO2Map(Object o){ Map<String, Object> map = new HashMap<String, Object>(); Field[] fields = null; try { //子类属性 fields = o.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); String proName = field.getName(); Object proValue = field.get(o); map.put(proName, proValue); } //父类属性 fields = o.getClass().getSuperclass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); String proName = field.getName(); Object proValue = field.get(o); map.put(proName, proValue); } } catch (Exception e) { LOGGER.error("exception message:", e); } return map; } public static Object map2PO(Map<String,Object> map,Object o){ try { if (!map.isEmpty()) { for (Map.Entry<String,Object> m : map.entrySet()) { Object v = ""; if (!m.getKey().isEmpty()) { v = m.getValue(); } Field[] fields = null; //子类属性 fields = o.getClass().getDeclaredFields(); for (Field field : fields) { int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } if (field.getName().equals(m.getKey())) { field.setAccessible(true); field.set(o, v); } } //父类属性 fields = o.getClass().getSuperclass().getDeclaredFields(); for (Field field : fields) { int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } if (field.getName().equals(m.getKey())) { field.setAccessible(true); field.set(o, v); } } } } }catch (Exception e) { LOGGER.error("exception message:", e); } return o; } public static Map<String,Object> getMsgResultMap(final String msg) { return new HashMap<String, Object>(){/** */ private static final long serialVersionUID = 3883115499389307532L; { put("code", "0"); put("msg", msg); }}; } public static Map<String,Object> getDataResultMap(final Object data) { return new HashMap<String, Object>(){/** */ private static final long serialVersionUID = 2024109428179733317L; { put("code", "1"); put("msg", "success"); put("data", data); }}; } }
相关推荐
将java实体类转换为map mybatis里用map更方便
本文将详细讲解如何使用Java实现XML到Map以及Map到XML的一键转换,并介绍一个已封装好的工具类`EasyXmlUtil`。 首先,XML到Map的转换涉及到XML的解析。在Java中,我们可以使用`javax.xml.parsers....
使用xml转json,可以使用这个工具类,先转成map,之后使用自己的json工具类即可。
`MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将详细探讨`MapUtil`工具类可能包含的功能以及其背后的原理。 `MapUtil`工具类通常会提供一些常见的实用方法,以增强`Map`对象的功能。...
java代码-使用java解决bean&map工具类的源代码 ——学习参考资料:仅用于个人学习使用!
Bean与MAP间互转换的工具类。 1.将一个 Map 对象转化为一个 JavaBean,可指定BEAN的类型; 2.将一个 JavaBean 对象转化为一个 HashMap;
对象与map互相转换工具类
本文将详细介绍一个将List转换为Map的工具类实例,它使用了JavaBeans和反射机制来实现这一功能。 首先,我们定义一个名为`List2MapUtils`的工具类,该类包含一个静态方法`convert2Map`。这个方法接受三个参数:`...
用于 解决在批量数据传输过程中对数据要求转为ListMap格式
2. org.springframework.util.CollectionUtils 工具类用于判断 List 和 Map 集合的非空,常用的方法有 isEmpty()、hasElement() 等。 3. org.springframework.util.xml.FileCopyUtils 文件拷贝处理工具类,常用的...
Java工具类是开发过程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。Apache Commons Lang和BeanUtils是两个非常著名的Java工具库,由Apache软件基金会开发和维护。这两个库...
`MapUtils`工具类就是为了解决这样的问题而设计的,它简化了`Map`对象和实体类之间的转换过程。本篇文章将深入探讨`MapUtils`工具类的使用及其在Java开发中的重要性。 首先,让我们了解一下实体类。在Java中,实体...
字符编码工具类-数据类型转换-日期工具类-Escape中文转码工具类-fastjson工具类-文件工具类-Http工具类-http请求工具类-用于模拟HTTP请求中GET/POST方式 -图片处理工具类-Ip工具类-mail工具类-Map工具类-MD5编码工具...
在使用ServiceStack.Redis操作工具类时,你需要了解以下关键知识点: 1. **连接管理**:ServiceStack.Redis提供了一个`IRedisClient`接口,它是所有Redis操作的基础。你可以通过`RedisManagerPool`或`RedisClient`...
这是一个工具类用于判断map中的键值对是否为空!普通判断若遇上空会报空指针异常!
例如,在Hadoop MapReduce中,InputFormat类负责将输入数据拆分为多个Map任务,每个任务处理一部分键值对。 接下来,List拆分与Map拆分类似,但更专注于有序或无序元素的序列。List通常包含一组元素,这些元素可以...
Utility class to make GoogleMap with custom theme. Create your own theme like this GoogleMapStyler googleMapStyler = new GoogleMapStyler.Builder(MainActivity.this) .setMainGeometryColorRes(R.color....
这些工具类会遍历Map的每个键值对或Bean的每个属性,通过反射找到对应的setter方法并调用,从而完成数据的转换。 需要注意的是,由于反射的使用,这些工具类在提高灵活性的同时也可能带来一些性能开销。因此,在...
史上最全的Java工具类,包括http访问,发送短信验证码,拼音转孩子,android图片压缩,...日期生成,相对日期生成,字符串工具类,android sharepreferences工具类,android Toast工具类, android sqlite工具类等等。