HashMap map= new HashM(); m=null;有什么区别?

发布日期:2019-10-03 07:32   来源:未知   

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  实例化一个HashMap对象,这是你可以对map进行任何操作,如put()等

  你声明一个HashMap变量,他没有指向任何对象,现在map是指向null的句柄对他操作会发生空指针异常,你需要为其赋值后在使用,可以用一个返回值为HashMap的方法或一个已经实例化的Map对象为其赋值。

  这个表示在JVM堆栈中创建一个句柄,并在堆内存中分配一块内存,然后该句柄引用到该内存。

  而前者,会在堆内存区给开辟空间,也就是相当于给map赋值了,经行了初始化。