36.JAVA方法间少用map来传递数据(java mapforeach)
有时候代码上线了才报异常,有次就是因为使用map来传递数据,因为疏忽使线上的功能异常。
举个例子:
/*赋值**/
public void set()
{
Map<String,Object> map=new HashMap<>();
map.put("id",1);
map.put("name","张三");
get(map);
}
/*获取**/
public void get(Map<String,Object> map)
{
Integer id=new Integer(map.get("id").toString());
String name=map.get("name").toString();
}
我相信很多人都这样写过,使用map来传递数据,有一个隐患就是,如果我把map.put("name","张三");改成map.put("val","张三");,但是get方法里忘了改String name=map.get("name").toString();。那运行就报空指针异常了,因为没有name的key了。
那么怎么改才会避免这个问题,我建议使用实体类。使用实体类,你忘记改了,项目打包时就报错误,避免了线上的异常。