首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

数组移除一个对象,如果gc运行,是否会回收该对象,出现null错误

2012-03-04 
数组移除一个对象,如果gc运行,是否会回收该对象,出现null异常Java codeArrayListShop shopList getShop

数组移除一个对象,如果gc运行,是否会回收该对象,出现null异常

Java code
                        ArrayList<Shop> shopList =getShopList();        Shop shop =  shopList.get(shopList.size()-1);        shopList.remove(0);        [color=#FF0000]System.out.println(shop);[/color]


是不是会出现null异常

[解决办法]
不会, 因为还有引用指向该对象,所以不会被gc掉
[解决办法]
回收是不可操控的
[解决办法]
ArrayList<Shop> shopList =getShopList();
Shop shop = shopList.get(shopList.size()-1);
shopList.remove(0);
数组移除一个对象,如果gc运行,是否会回收该对象(有可能会回收)
System.out.println(shop);
是不是会出现null异常(不会。即使是null对象也只是打印出null,除非你对null对象进行操作)





[解决办法]
不可能出现
只要 ArrayList<Shop> shopList =getShopList();
shopList 指向的list不为null
你的代码就不会出现nullpointexception();
最多就是IndexOutOfBoundsException;
gc不会对强引用可达的对象进行回收
[解决办法]
impossibility


[解决办法]
不会,但是看了你的代码,会出现异常的。如果list为空,你的remove和get方法就报错啦
[解决办法]
探讨

不会, 因为还有引用指向该对象,所以不会被gc掉

热点排行