1、eg:String a = new String();当程序里面new一个对象时候,在堆内存里面分出一个内存,此时a代表指向此内存地址。
2、“” 空格 null 这三个是不一样的。
“”代表在堆内存有一个地址,里面没有存任何东西
空格代表在堆内存有一个地址,里面存放一个空格。
Null代表内存里面没有分配地址
3、List<Map> list = null;&& List<Map> list = new ArrayList();区别是什么?
当下面会赋值给list时候,则直接初始化list=null也就是List<Map> list = null;
当需要list调用其他的时候则需要new一个对象出来。
因为当我们new一个对象的时候,在堆内存里面分配出一个空间,该对象指向此分配的空间。
List<Map> list = null;
list = filingDao.queryBeatLeader(mapParam);
这样相当于list变量指向
filingDao.queryBeatLeader(mapParam)查出来的堆内存地址,该地址存放的是数据库查出来的数据。
List<Map> list = new ArrayList();
list = filingDao.queryBeatLeader(mapParam);
如果这样相当于new的那个list内存地址没有用到,因为list指向filingDao.queryBeatLeader(mapParam)查出来的堆内存地址,该地址存放的是数据库查出来的数据。