做项目的感想: 1.尽量用项目中已经封装好的工具类,切忌自己又去写(减少垃圾代码),使代码更规范 2.了解性能及原理,用好API,就是在减少bug的出现,避免踩坑 package com.pingan.scf.core.server.util; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.collections.MapUtils; import java.math.BigDecimal; import java.util.*; /** * 参数Map转换类 */ public class MapUtil { /** * @方法名称 getString * @功能描述 <pre>取出map中key对应的value值并转换为String型</pre> * @param map * @param key * @return */ public static String getString(final Map map, final Object key) { return getStringDefault(map,key,null); } /** * @方法名称 getStringDefault * @功能描述 <pre>取出map中key对应的value值并转换为String型,否则返回默认值</pre>* @param key * @return */ public static String getStringDefault(final Map map, final Object key,String value) { return MapUtils.getString(map, key)==null? value:MapUtils.getString(map, key); } /** * * @方法名称 getInteger * @功能描述 <pre>取出map中key对应的value值并转换为Integer型</pre> * @param map * @param key * @return */ public static Integer getInteger(final Map map, final Object key) { return MapUtils.getInteger(map, key); } /** * @方法名称 getLong * @功能描述 <pre>取出map中key对应的value值并转换为Long型</pre> * @param map * @param key * @return */ public static Long getLong(final Map map, final Object key) { return MapUtils.getLong(map, key); } /** * @方法名称 getNumber * @功能描述 <pre>取出map中key对应的value值并转换为Number型</pre> * @param map * @param key * @return */ public static Number getNumber(final Map map, final Object key) { return MapUtils.getNumber(map, key); } /** * @方法名称 getDate * @功能描述 <pre>取出map中key对应的value值并转换为date型</pre> * @param map * @param key * @return */ public static Date getDate(final Map map, final Object key) { if (map != null){ Object answer = map.get(key); if (answer != null) { if (answer instanceof Date) { return (Date) answer; } } } return null; } /** * @方法名称 getBigDecimal * @功能描述 <pre>取出map中key对应的value值并转换为BigDecimal型</pre> * @param map * @param key * @return */ public static BigDecimal getBigDecimal(final Map map, final Object key) { if (map != null){ Object answer = map.get(key); if (answer != null) { if (answer instanceof BigDecimal) { return (BigDecimal) answer; } else if(answer instanceof String) { return new BigDecimal((String)answer); }else if(answer instanceof Integer) { return new BigDecimal((Integer)answer); }else if(answer instanceof Long) { return new BigDecimal((Long)answer); }else if(answer instanceof Double) { return new BigDecimal((Double)answer); }else if(answer instanceof Float) { return new BigDecimal((Float)answer); } } } return null; } /** * @方法名称 getBigDecimal * @功能描述 <pre>取出map中key对应的value值并转换为Boolean型</pre> * @param map * @param key * @return */ public static Boolean getBoolean(final Map map, final Object key) { if (map != null) { Object answer = map.get(key); if (answer != null) { if (answer instanceof Boolean) { return (Boolean) answer; } else if (answer instanceof String) { return new Boolean((String) answer); } else if (answer instanceof Number) { Number n = (Number) answer; return (n.intValue() != 0) ? Boolean.TRUE : Boolean.FALSE; } } } return false; } public static List getList(final Map map, final Object key){ if (map == null) return null; if (key == null) return null; if (!map.containsKey(key)) { return null; } Object value = map.get(key); if (value == null) return null; if (List.class.isAssignableFrom(value.getClass())) { return (List) value; } return null; } /** * 对象转map * @param object * @return */ public static Map<String, Object> object2Map(Object object){ JSONObject jsonObject = (JSONObject) JSON.toJSON(object); Set<Map.Entry<String,Object>> entrySet = jsonObject.entrySet(); Map<String, Object> map=new HashMap<String,Object>(); for (Map.Entry<String, Object> entry : entrySet) { map.put(entry.getKey(), entry.getValue()==null?"":entry.getValue()); } 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...