~~~

import java.math.BigDecimal;

import java.util.Date;

import java.util.Map;

/**

*

* Map取值方法,其中取得多种值,避免null值转换

*

* @author hailan

*

*/

public class MapGetterTool {

private Map map;

public MapGetterTool(Map map){

this.map = map;

}

/**

*

* 根据Key返回一个Double型

*

* @param key

* @return Double

*/

public Double getDouble(String key){

if(map.get(key)!=null){

if(map.get(key) instanceof Double){

return (Double)map.get(key);

}else{

return 0.0;

}

}else{

return 0.00;

}

}

/**

*

* 根据Key返回一个String

*

* @param key

* @return String

*/

public String getString(String key){

if(map.get(key)!=null){

if(map.get(key) instanceof String){

return (String)map.get(key);

}else{

return null;

}

}else{

return "";

}

}

/**

*

* 根据Key返回一个Date

*

* @param key

* @return Date

*/

public Date getDate(String key){

if(map.get(key)!=null){

if(map.get(key) instanceof Date){

return (Date)map.get(key);

}else{

return null;

}

}else{

return null;

}

}

/**

*

* 根据Key返回一个Integer

*

* @param key

* @return Integer

*/

public Integer getInteger(String key){

if(map.get(key)!=null){

if(map.get(key) instanceof Integer){

return (Integer)map.get(key);

}else{

return null;

}

}else{

return 0;

}

}

/**

*

* 根据一个Key返回一个Map

*

* @param key

* @return Map

*/

@SuppressWarnings("unchecked")

public Map getMap(String key){

if(map.get(key)!=null){

if(map.get(key) instanceof Map){

return (Map)map.get(key);

}else{

return null;

}

}else{

return null;

}

}

/**

*

* 根据key返回BigDecimal

* 如果为null,则返回 new BigDecimal(0)

*

* @param key

* @return BigDecimal

*/

public BigDecimal getBigDecimal(String key){

if(map.containsKey(key)){

if(map.get(key) instanceof BigDecimal){

return (BigDecimal)map.get(key);

}else{

return new BigDecimal(0);

}

}else{

return new BigDecimal(0);

}

}

}

~~~

java map 允许null值,Map取值方法,其中取得多种值,避免null值转换相关推荐

  1. 在C#中,当您在null对象上调用扩展方法时会发生什么?

    本文翻译自:In C#, what happens when you call an extension method on a null object? Does the method get ca ...

  2. [java]Map取值方法,其中取得多种值,避免null值转换

    import java.math.BigDecimal; import java.util.Date; import java.util.Map;/*** <p>* Map取值方法,其中取 ...

  3. java如何获得键值_如何在java中取map中的键值 的两种方法

    第一种方法根据键值的名字取值 import java.util.HashMap; import java.util.Map; public class Test { /** * @param args ...

  4. JAVA中如何取map的值_如何在java中取map中的键值 的两种方法

    第一种方法根据键值的名字取值 import java.util.HashMap; import java.util.Map; public class Test { /** * @param args ...

  5. Map排序,获取map的第一值,根据value取key等操作(数据预处理)

    这里为了以后自己再做数据预处理使用,做一下笔记. package deal;import java.io.File; import java.util.ArrayList; import java.u ...

  6. 结构为键值的map_在Java中增加Map值的最有效方法-只需搜索键一次

    结构为键值的map 这个问题可能被认为太基础了,但是在论坛中经常被问到. 在本文中,我将讨论一种仅在Map ONCE中搜索键的方法. 让我们首先来看一个例子. 假设我正在使用Map创建一个字符串频率列 ...

  7. 用Java递增Map值的最有效方法–仅搜索一次键

    这个问题可能被认为太基础了,但是在论坛上经常被问到. 在本文中,我将讨论一种仅在Map ONCE中搜索键的方法. 让我们首先来看一个例子. 假设我正在使用Map创建一个字符串频率列表,其中每个键是一个 ...

  8. java获取map遍历,Map获取键值,Map的几种遍历方法总结(推荐)

    Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对. S ...

  9. java 循环读取map_java中map的循环遍历和map的获取值的办法

    Java中Map的遍历方式了,这个其实有点像php中数组了,下文整理了一些map的循环遍历和map的获取值的办法,希望能帮助到各位. map的循环遍历方式  代码如下 复制代码 package com ...

最新文章

  1. JAVA课上动手动脑问题2
  2. 共享收集的图像处理方面的一些资源和网站。
  3. php开启path_info,Nginx + php-fpm 开启 PATH_INFO 模式
  4. SpringBoot使用Redis和MyBatis完成缓存数据的增删改查
  5. boost::hana::union_用法的测试程序
  6. linux下批量替换文件内容的三种办法
  7. 译 | 将数据从Cosmos DB迁移到本地JSON文件
  8. 电商后台、手机端、小程序、H5、电商原型、需求池、产品结构图、接口流程、高保真交互、PRD、布局说明、数据统计、店铺管理、商品管理、财务管理、售后、订单、会员、客服、标签、Axure原型、产品原型
  9. 目标检测(十九)--SoftNMS
  10. adb工具箱_安卓福音,史上最强搞机工具箱,一键修手机
  11. 二叉树遍历算法C++实现
  12. 药物临床试验数据递交FDA的规定
  13. 《烈烈先秦》7、大秦的克星——侠将公子信陵君
  14. 给女朋友讲解什么是代理模式
  15. android 7.1 自动启动wifi,设置自动连接wifi-ssid
  16. oracle 12c手册chm,oracle11g中文手册chm
  17. 制作stlink(烧录部分)
  18. 进程和守护进程的区别
  19. 我常去的几家GIS论坛
  20. 支付系统--清结算概括介绍

热门文章

  1. android gbk转utf8批量工具,Android项目编码的批量修改(GBK转UTF-8)(转载)
  2. “天寒地冻不会太久,春天正在来的路上。”
  3. php中rbac三张表的关系,thinkPHP的RBAC权限管理
  4. linux 音频转换工具,Ubuntu 14.04安装音频转换工具SoundConverter 2.1.3
  5. 软件工程导论 复习笔记 (1)
  6. Android中的混淆
  7. 2022年新版计算机检测维修与数据恢复选手训练资料
  8. 合肥学院计算机专业大二课程,合肥学院12软件工程大二上课程表
  9. 银行存取款哪年开始用计算机打印,Qaasgiks02浙江省会计电算化试题1(除宁波),练好这3套试卷,考试很OK!...
  10. AcWing 241 楼兰图腾