日期:2014-05-20  浏览次数:20809 次

return
对原理不是很清楚

return   new   Object();
还是这样
Object   obj   =   new   Object();
return   obj;
对资源回收有力?  
谢了

------解决方案--------------------
如果只是这两句,功能上就没什么区别。

不过推荐用第一种方式。因为直接return new O()不会创建局部变量,相对会比较节省系统资源,而且也不容易产生垃圾。总之,在编程规范里明白的写着,不需要建立局部变量的地方,尽量不要建。

不知道说的对不对,呵呵,我觉得是这样
------解决方案--------------------
功能上讲,没有区别。

如果是用Object obj = new Object();创建对象,会在heap中创建对象(new Object()),而且也会在栈中创建变量obj,这个变量是一个引用,指向heap中创建的对象。但是在函数返回以后,obj的生命周期就结束了,栈中相应的位置就清空了,但对象的引用通过return返回了。

如果是return new Object()的方法就是直接在heap中创建对象并返回引用。