DYanchao2015 2015-01-21 06:32 采纳率: 100%
浏览 14782
已采纳

Map下写getget(key).toString();出现空指针异常

最近在编写android程序
源码是这样的:
child5 = new ArrayList>();
childData5 = new HashMap();
childData5.put("health_person_txt_smoking", person.getFlag_smoking());// 同理
childData5.put("health_person_txt_smokingnum", smokingnum);// 同理
childData5.put("health_person_txt_drink", person.getFlag_drink());
childData5.put("health_person_txt_drinknum", drinknum);
childData5.put("health_person_txt_training", person.getFlag_training());// 同理
childData5.put("health_person_txt_trainingnum", trainingnum);// 同理
childData5.put("health_person_txt_sleep", person.getFlag_sleep());
childData5.put("health_person_txt_sleepnum", sleepnum);
child5.add(childData5);
在下面直接编写map.get(key).tostring空指针异常。。。
//这样直接写get(key).toString();出现空指针异常该如何编写这段代码
String name=(String)childData1.get(health_person_txt_name).toString();
String sex=(String)childData1.get(health_person_txt_sex).toString();
String birthday_string=(String)childData1.get(health_person_txt_birthday).toString();
String blood=(String)childData1.get(health_person_txt_blood).toString();
String insurance=(String)childData1.get(health_person_txt_insurance).toString();

正确的编写方式什么???求各位老师帮忙解答

  • 写回答

4条回答 默认 最新

  • 小灯光环 博客专家认证 2015-01-21 06:36
    关注

    肯定是你getXXX返回了一个NULL,就没有得到对象,再toString肯定会报null pointer了,你可以在toString之前判断一下对象是否为空,不要写成链式就行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置