对原理不是很清楚return new Object();
还是这样
Object obj = new Object();
return obj;
对资源回收有力? 
谢了

解决方案 »

  1.   

    如果只是这两句,功能上就没什么区别。不过推荐用第一种方式。因为直接return new O()不会创建局部变量,相对会比较节省系统资源,而且也不容易产生垃圾。总之,在编程规范里明白的写着,不需要建立局部变量的地方,尽量不要建。不知道说的对不对,呵呵,我觉得是这样
      

  2.   

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

  3.   

    明白了 
    Object obj = new Object();
    return obj;
    栈的引用是多余的
    3X