1> 在栈里多创建了个变量
2>对

解决方案 »

  1.   

    1、UnitDao dao= new UnitDao() 在栈空间创建了一个dao的变量 指向 new  UnitDao()。然后又创建了一个strUnitname变量指向dao.getunitname()
        而下面的,则是直接创建一个 strUnitname变量指向new UnitDao().getunitname() 
    2、对头!
      

  2.   


    那是不是说: String  strUnitname= new UnitDao().getunitname(); 
    这种方式就不需要: dao=null
    这两种方式哪种更优一些呢?
      

  3.   

    1.没什么区别,第1种方式多创建了对象的引用变量;
    2.没必要,所有的对象都是通过垃圾收集器来回收的,dao只要离开了作用域,就会自动为null,
       什么时候回收一切都是垃圾收集器的工作,我们无法手动操作。
      

  4.   

    不用手动销毁,java的gc机制会帮你自动回收没用的变量!