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了。

那么怎么改才会避免这个问题,我建议使用实体类。使用实体类,你忘记改了,项目打包时就报错误,避免了线上的异常。

相关文章

「Java必修课」通过Value获取Map中的键值Key的四种方法

作者:南瓜慢说来源:博客园1 简介我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值。然而,有的时候我们需要反...

Java遍历Map集合有哪几种方式?各自效率怎么样?我来写代码亲测

1、由来我们应该在什么时刻选择什么样的遍历方式呢,必须通过实践的比较才能看到效率,也看了很多文章,大家建议使用entrySet,认为entrySet对于大数据量的查找来说,速度更快,今天我们就通过下面...

遇到MapStruct后,再也不手写PO,DTO,VO对象之间的转换了

介绍在工作中,我们经常要进行各种对象之间的转换。PO:persistent object 持久对象,对应数据库中的一条记录VO:view object 表现层对象,最终返回给前端的对象DTO:data...

初识Java对象转换工具MapStruct(java 对象转换)

MapStruct解决的问题在java分层架构中,会出现很多的POJO对象,如DO/DTO/BO/VO,在同一业务不同分层中的传输,或者不同业务中传输,常常需要相互转换。通常情况下,代码中需要大量的...