map集合初始化的問題
在測試類里,?Map<String ,Object> param=new HashMap<String, Object>();得到param的集合,如果要通過兩個屬性查找對象時,第二次給param初始化的時候就不用在前面加?Map<String ,Object> 就可以初始化了嗎,這種初始化我不太懂,如果叫我自己來寫我可能不會給上個param再次初始化,而是另外實(shí)例化一個param2,來存信息
在測試類里,?Map<String ,Object> param=new HashMap<String, Object>();得到param的集合,如果要通過兩個屬性查找對象時,第二次給param初始化的時候就不用在前面加?Map<String ,Object> 就可以初始化了嗎,這種初始化我不太懂,如果叫我自己來寫我可能不會給上個param再次初始化,而是另外實(shí)例化一個param2,來存信息
2019-06-07
舉報
2019-06-14
因?yàn)樯洗?Map<String ,Object> param=new HashMap<String, Object>(); 就相當(dāng)于創(chuàng)建了個集合的對象 param ,而每個 map 中的 key 是一樣的,就可以直接用已經(jīng)創(chuàng)建的 param 來存儲,沒有新創(chuàng)建容器,只是更新了 value 而已,而你新創(chuàng)建 param2 就相當(dāng)于又在內(nèi)存中開辟了空間存儲有相同 key 的容器,浪費(fèi)了空間。
2019-08-14
這個位置說一下自己的思考,Map<String,Object>是類型,param在創(chuàng)建的過程中兩次都是new HashMap<String,Object>() 也就是說雖然前后兩個變量豆角param,但是指向的內(nèi)存地址是不一樣的。我認(rèn)為這就是兩個不同的變量,只是名稱一樣而已。