在java中以下写法到底有错无?!int[] fun()
{
   int[] p = new int[5];
   return p;
}
在C++ 下应该是有问题的,但java就不知道了.还有用多个else if 语句判断和用swith语句在执行效率上是否有差别?

解决方案 »

  1.   

    1. JAVA函数可以直接“返回一个数组”,而不像C++那样只能返回一个指向数组的指针,并且,垃圾回收器会自动侦测这个返回的数组是否还在使用,所以不用担心从函数中返回的数组的生命期问题。2. 多个if ... else if ... else if ...实际上是嵌套的分支语句,如果分支很多,建议用switch,个人意见。
      

  2.   

    int[] fun()
    {
       int[] p = new int[5];
       return p;
    }
    你的数组只是定义了,还没有初始化,编译没有问题