• MapUtils常用方法


     
    maven引入
    <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-collections4</artifactId>
          <version>4.2</version>
        </dependency>
     
    方法
    可以从指定map中获取常用基础类型的值,都会判断map,map为null返回null,get结果为null返回null:
     
    修饰符和返回类型    方法    描述
    static <K> Boolean    getBoolean(Map<? super K,?> map, K key)    从Map获取Boolean
    static <K> Boolean    getBoolean(Map<? super K,?> map, K key, Boolean defaultValue)    将结果转换为Boolean,如果转换失败则使用默认值
    static <K> boolean    getBooleanValue(Map<? super K,?> map, K key)    从Map获取boolean。
    static <K> boolean    getBooleanValue(Map<? super K,?> map, K key, boolean defaultValue)    如果转换失败,则使用默认值
    static <K> Double    getDouble(Map<? super K,?> map, K key)    从Map获取Double
    static <K> Double    getDouble(Map<? super K,?> map, K key, Double defaultValue)    将结果转换为Double,如果转换失败则使用默认值
    static <K> double    getDoubleValue(Map<? super K,?> map, K key)    从Map获取double
    static <K> double    getDoubleValue(Map<? super K,?> map, K key, double defaultValue)    如果转换失败,则使用默认值
    static <K> Float    getFloat(Map<? super K,?> map, K key)    从Map获取Float
    static <K> Float    getFloat(Map<? super K,?> map, K key, Float defaultValue)    将结果转换为Float,如果转换失败则使用默认值
    static <K> float    getFloatValue(Map<? super K,?> map, K key)    从Map获取float
    static <K> float    getFloatValue(Map<? super K,?> map, K key, float defaultValue)    如果转换失败,则使用默认值
    static <K> Integer    getInteger(Map<? super K,?> map, K key)    从Map获取Integer
    static <K> Integer    getInteger(Map<? super K,?> map, K key, Integer defaultValue)    将结果转换为Integer,如果转换失败则使用默认值
    static <K> int    getIntegerValue(Map<? super K,?> map, K key)    从Map获取int
    static <K> int    getIntegerValue(Map<? super K,?> map, K key, int defaultValue)    如果转换失败,则使用默认值
    static <K> Long    getLong(Map<? super K,?> map, K key)    从Map获取Long
    static <K> Long    getLong(Map<? super K,?> map, K key, Long defaultValue)    将结果转换为Long,如果转换失败则使用默认值
    static <K> long    getLongValue(Map<? super K,?> map, K key)    从Map获取long
    static <K> long    getLongValue(Map<? super K,?> map, K key, long defaultValue)    如果转换失败,则使用默认值
    static <K> String    getString(Map<? super K,?> map, K key)    从Map获取String
    static <K> String    getString(Map<? super K,?> map, K key, String defaultValue)    将结果转换为String,如果转换失败则使用默认值
    此外还可以获取Number、Short、Byte等类型值
     
    实列
    Map<String, Object> nullMap = null;
    Map<String, Object> map = new HashMap<>();
    map.put("user", new User());
     
    map.put("boolean", true);
    Assert.assertTrue(MapUtils.getBoolean(map, "boolean"));
    //转换失败,返回默认值false
    Assert.assertFalse(MapUtils.getBoolean(map, "user",false));
    //目标map为null,返回null
    Assert.assertNull(MapUtils.getBoolean(nullMap, "boolean"));
    //目标map为null,返回默认值false
    Assert.assertFalse(MapUtils.getBoolean(nullMap, "boolean", false));
     
    Assert.assertTrue(MapUtils.getBooleanValue(map, "boolean"));
    //转换失败,返回默认值false
    Assert.assertFalse(MapUtils.getBooleanValue(map, "user",false));
    //目标map为null,返回false
    Assert.assertFalse(MapUtils.getBooleanValue(nullMap, "boolean"));
    //目标map为null,返回默认值false
    Assert.assertFalse(MapUtils.getBooleanValue(nullMap, "boolean", false));
     
    map.put("integer", 5);
    Assert.assertEquals(Integer.valueOf(5), MapUtils.getInteger(map, "integer"));
    //转换失败,返回默认值5
    Assert.assertEquals(Integer.valueOf(5), MapUtils.getInteger(map, "integer",5));
    //目标map为null,返回null
    Assert.assertEquals(null, MapUtils.getInteger(nullMap, "integer"));
    //目标map为null,返回默认值5
    Assert.assertEquals(Integer.valueOf(5), MapUtils.getInteger(nullMap, "integer", 5));
     
    Assert.assertEquals(5, MapUtils.getIntValue(map, "integer"));
    //转换失败,返回默认值5
    Assert.assertEquals(5, MapUtils.getIntValue(map, "user",5));
    //目标map为null,返回0
    Assert.assertEquals(0, MapUtils.getIntValue(nullMap, "integer"));
    //目标map为null,返回默认值5
    Assert.assertEquals(5, MapUtils.getIntValue(nullMap, "integer", 5));
    ---------------------
    作者:借物小人
    来源:CSDN
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    【Java】Java创建String时,什么情况放进String Pool?
    【Java】代理模式,静态代理和动态代理(基于JDK或CGLib)
    【Java】Float计算不准确
    【Spring】初始化Spring IoC容器(非Web应用),并获取Bean
    【Eclipse】安装subclipse的Eclipse插件
    【多线程】如何通过线程返回值?如何使用多线程并发查询数据
    【多线程】并发执行指定数量的线程
    【ActiveMQ】ActiveMQ在Windows的安装,以及点对点的消息发送案例
    DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常
    jQuery Validation remote的缓存请求
  • 原文地址:https://www.cnblogs.com/TJGKK/p/11282866.html
Copyright © 2020-2023  润新知