java里的对象好象不是在栈上创建的(new产生的),返回的不是野指针,因为对象未被销毁.它一般是有垃圾收集器进行回收

解决方案 »

  1.   

    java怎么会返回指针呢。
    你所说的地址可能是你输出数组等的时候显示的地址吧。
      

  2.   

    你就理解java中的对象传值成c中的指针就行了。
    如果方法中参数是通过传值进来(非克隆对象,克隆对象的话应该在方法中清除,也就是在方法中撤消),它是一个有效的“指针”,不是野指针。
      

  3.   

    一开始,我只是猜测,方法中的对象是存储在堆上,然后通过GC 检查该指向该对象上的变量数是否为0,若是,就将其回收。而方法返回了指向该对象的指针,虽然本方法中的对象变量被撤消,但它马上又将地址传给了外部,所以指向该对象的指针数仍不为0,所以GC 还是不能回收该对象。怎么觉得有点自圆其说的味道,呵呵