代码之家  ›  专栏  ›  技术社区  ›  m4design

返回本地初始化的数组可以吗?如果没有,我怎么做?

  •  3
  • m4design  · 技术社区  · 15 年前

    举个例子:

    public class foo
    {
        public int[] func()
        {
            int arr[] = new int[3];
            // here initialised the array
    
            return arr;
        }
    }
    

    5 回复  |  直到 15 年前
        1
  •  6
  •   Mohsen    15 年前

    是的,这是完全可以的,因为垃圾收集是在没有进一步引用对象的情况下完成的。也可以使用 length 内部( arr.length )或外部(例如。 aFoo.func().length )方法。

        2
  •  2
  •   rkg    15 年前

    是的,应该可以。因为Java数组是在堆上而不是在堆栈上分配的。函数调用返回后无法收集它们。

        3
  •  0
  •   Lie Ryan Bryan    15 年前

    catch是在C++中,你将在以后某个时间手动删除它,以避免内存泄漏;而在java中,一旦没有更多的引用数组,垃圾回收器就会做它的事情,所以你不必做任何事情。

        4
  •  0
  •   JMC    15 年前

    把数据与新事物联系起来。

        5
  •  0
  •   Alexey Raga    15 年前

    这在C世界是完全可以的。

    您也可以这样做: return new int[] {1,2,3,4};