问题描述:在进行mysql查询必要字段后,需要根据id进行es其它数据字段的查询拼接。使用HashMap以id为key 以查询过来的数据值为value。

代码如下:

 Map<String,Integer> map = null;
if(result != null && result.containsKey("aggregations")){
map = new HashMap<String,Integer>();
JSONTool tool = new JSONTool();
JSONArray buckets = tool.getJSONArray(result, "aggregations.px0.buckets");
if(buckets != null){
for(int i=0; i<buckets.size(); i++){
String key = buckets.getJSONObject(i).getString("key");
int value = buckets.getJSONObject(i).getJSONObject("num").getIntValue("value");
map.put(key, value);
}
}
} //拼装其它获取的字段
if(map != null && !map.isEmpty()){
it = list.iterator();
while(it.hasNext()){
Model mo = it.next();
mo.setNum(map.get(mo .getId()));
}
}

说明:mo.getId()返回的数据类型为Integer

前端拼接数据时,发现没有num字段。debug发现是map.get(mo.getId());返回的竟然是null

于是,将

mo.setNum(map.get(mo .getId()));

改为

mo.setNum(map.get("" + mo .getId()));

总结,原来hashMap是根据key的hash值去找value的,数据类型不同可能hash的值不同。

 

HashMap get()返回值问题的更多相关文章

  1. HashMap的put方法返回值问题

    API文档中的描述: 先看一个例子 Map<Character, Integer> map = new HashMap<Character, Integer>(); Syste ...

  2. webservice返回值为Map类型的处理方法

    在写一个webservice的时候,方法的返回值是一个复杂类型,处理方法是写一个结果类(Javabean)作为返回值.想着webservice方法返回值为Map的没写过,然后就试着写了一个简单的Dem ...

  3. 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向

    数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView("index", map ...

  4. Mybatis select返回值为map时,选取表字段的两列作为key,value

    项目需要从ibatis升级到MyBatis,dao中有一个方法返回Map类型,具体是查询语句查询两个字段,将结果列表字段A的值作为key字段B的值作为value存入Map中作为结果返回: ibatis ...

  5. Java和Ibatis调用存储过程并取得返回值详解

    Java和Ibatis调用存储过程并取得返回值详解 2011-07-19 17:33 jiandanfeng2 CSDN博客 字号:T | T 本文主要介绍了Java和Ibatis调用存储过程的方法, ...

  6. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  7. sring mvc 返回值至jsp界面的几种方式

    Spring 通过Controller 向 View 传值的方法有以下四种 HttpServletRequest ModelAndView Map<String, Object> map ...

  8. SpringMVC Controller 返回值的可选类型

    spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void. ModelAndView @RequestMap ...

  9. 【转】Mybatis/Ibatis,数据库操作的返回值

    该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey&g ...

随机推荐

  1. Redis Cluster Notes

    Redis Cluster Goal:     1. 最大支持1000个节点的高性能.可线性扩展集群:集群架构中无Proxy层,主从间采用异步同步机制(replication),无merge层(不支持 ...

  2. ASP.NET Core学习网站推荐

    跟大家推荐一个不错的学习.NET Core 的网站,这个网站的视频是付费的,但是录视频的都是.NET Core的大佬们,个人觉得很不错推荐出来 video.jessetalk.cn

  3. 一图看懂mybatis执行过程

    一图看懂mybatis执行过程,不再懵B了

  4. 昊合数据整合平台HHDI常见问题

    Q: HaoheDI和Informatica PowerCenter.IBM DataStage的区别在哪里? A: Informatica和DataStage是比较重量级的ETL平台,其自身就是比较 ...

  5. STM32JTAG口用作普通IO的配置

    使用Jlink向STM32烧录程序时,需要使用6个芯片的引脚(以STM32F103C8T6为例),分别是PB4/JNTRST.PB3/JTDO.PA13/JTMS.PA14/JTCK.PA15/JTD ...

  6. 20190120-自定义实现split方法

    1. 实现字符串的split方法Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 思路同自定义实现replace方法类型: 1. ...

  7. ruby中的三目操作符和include?操作

    三目操作符:口?口:口 问号前面的是布尔型的判断,true的话执行第二个方块的语句,false的话执行第三个方块的语句例如:value =(nil ? 0 : 1)p value=>1 .inc ...

  8. aes并发加密Cipher not initialized 异常

    javax.crypto.Cipher 每次都要实例化,大量的实例化导致 Cipher 实例化失败. 解决办法:将已经实例化的Cipher对象,放在hashmap中,每次实例化的时候从MAP 获取,不 ...

  9. jxls-2.x导出excel入门——基本操作

    之前随笔使用的是1.x的比较古老的版本了,已经不再维护,接下来使用较新的2.x的版本进行导出 之前一直按照其他的博客与官网的随笔进行导出,发现一直报错,后面更换了POI的版本为3.16(因为jxls也 ...

  10. PHP实现识别带emoji表情的字符串

    function have_special_char($str) { $length = mb_strlen($str); $array = []; for ($i=0; $i<$length; ...