java HashMap


语言 java

Map<String,String> map =null;
map=new HashMap<String,String>();

Map<String,String> map = new HashMap<String,String>();

两者有何区别?具体用在什么样的场景?

java hashmap

☆一之濑琴美☆ 10 years, 6 months ago

没什么具体的区别. 就只是创建对象的步骤分开还是一步完成了而已.
具体用在哪, 还是根据逻辑需要而已.
比如说
Map<String,String> map =null;
if(#&%$&%#@){
map=new HashMap<String,String>();
}
else{
sysout("#^%^$@#$$$");
}
if(map==null)
{// 逻辑..}
else{// 逻辑...}
这种..之类的情况下... 也就是说 map=null 是你逻辑上的一种可以作为 判断逻辑怎么走的一种条件 的时候, 可以这么分开写.

樱色飞舞时 answered 10 years, 6 months ago

当new HashMap<String,String>()的时候,同样分配内存地址给map。两者没区别。

tfyym answered 10 years, 6 months ago

没什么区别啊...
第一个map对象你在声明的时候让他直接指向null,然后又让他指向新创建的HashMap<String,String>类型的对象,第二个map对象你在声明的时候就直接创建了一个HashMap<String,String>类型的对象,并让map指向它。

DarkMix answered 10 years, 6 months ago

Your Answer