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();

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

3个回答

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

lisun139
lisun139 if(aa.get("order") !=null){},还是空指针
大约 2 年之前 回复
heart_2015
DYanchao2015 回复wlwlwlwl015: 问题已经解决了,谢谢了,那个key我写的时候加了一个引号,但是在下面写在get里面的时候又没加引号,所以出现了空指针的错误
接近 6 年之前 回复
wlwlwlwl015
小灯光环 回复heart_2015: 没错,map就是get(key)来取value
接近 6 年之前 回复
heart_2015
DYanchao2015 也就是说这样用get(Key)的获取值的方式正确的是嘛???
接近 6 年之前 回复

get的是个空值吧,没有对应的key在map中

也就是说这样用get(Key)的获取值的方式正确的是嘛???

立即提问