问答详情
源自:2-6 JDBC实战---搭建模型层 Ⅳ

map集合初始化的问题

在测试类里, Map<String ,Object> param=new HashMap<String, Object>();得到param的集合,如果要通过两个属性查找对象时,第二次给param初始化的时候就不用在前面加 Map<String ,Object> 就可以初始化了吗,这种初始化我不太懂,如果叫我自己来写我可能不会给上个param再次初始化,而是另外实例化一个param2,来存信息

提问者:我爱孙佳怡 2019-06-07 19:46

个回答

  • Uestc_L
    2019-06-14 12:49:50
    已采纳

    因为上次 Map<String ,Object> param=new HashMap<String, Object>(); 就相当于创建了个集合的对象 param ,而每个 map 中的 key 是一样的,就可以直接用已经创建的 param 来存储,没有新创建容器,只是更新了 value 而已,而你新创建 param2 就相当于又在内存中开辟了空间存储有相同 key 的容器,浪费了空间。

  • muecho
    2019-08-14 17:49:43

    这个位置说一下自己的思考,Map<String,Object>是类型,param在创建的过程中两次都是new HashMap<String,Object>() 也就是说虽然前后两个变量豆角param,但是指向的内存地址是不一样的。我认为这就是两个不同的变量,只是名称一样而已。