file.list();返回的是一个数组呀在JAVA中,数组是一个对象(特殊对象),可以使用new或其他如函数返回来赋值,

解决方案 »

  1.   

    danceflash(Wine) ,呵呵,你晕我更晕~~~~~mingjava(学习) ,能具体一点儿么?动态数组如何用的?
      

  2.   

    String[] files = null;
    files = file.list();这种就属于动态数组,你不用定义它的大小的。
      

  3.   

    但是: CoolAbu(阿卜-Never Stop(★★★★)) ,
    String[] files = null;
    files = file.list();
    这种情况只能在函数返回值为数组的情况下使用,能实现非这种情况下的动态么?
      

  4.   

    files 只是一个指针
    String[] files2=files 会指向同一个数组的你可以 String [100] files3;
           files=files3 这样就可以实现动态数组了
      

  5.   

    xiyou(溪游) String [100] files3;
    这样是不能编译的,不信你自己试一试
      

  6.   

    String[] files 你这样的本身就是一个数组,所以你只有数组才能给它赋值。不是数组不行的。其他的语言好像也没有这种功能呀。
      

  7.   

    String str1;和
    String str2=new String();
    是不同的,如果你用System.out.println(...);
    来显示的话,前者是null,后者是""(空字符串),两者是不同的.
    然后,你如果这样用,str1="abc";str2="123";
    那么对于str1其实JVM自动创建了一个String对象,值为abc,然
    后把这个对象的地址赋给了str1.而str2当然就是直接创建了一个
    空字符串的String对象的引用了.
    楼主必须要清楚,JAVA中平时所谓的对象,其实都是对象引用而已,
    只是为了交流和理解上的方便,大家就达成一致,认为它是一个对象.对于String[] files=null;files=file.list();
    这里的files,如果你把它看成对象引用的话,那么它其实也是赋了初值的,
    就是null,而后来它指向了file.list()方法返回的一个数组,所以它根本
    没有创建出数组,数组是由file.list()方法创建并返回的(JAVA中允许返回数组),
    files只是指向那个file.list()创建并返回的数组的地址而已,但是你确实
    已经可以用files来操作那个数组了.还有就是,严格的讲,JAVA中的数组都必须是明确大小了的,并且不能改变大小,
    只有容器可以真正做到动态分配空间,所以可以动态改变大小.
      

  8.   

    FutureStonesoft(丑石)说得很有道理java中是可以允许返回数组的
      

  9.   

    一句话,就是说声明一个 String[] a,然后让它指向不同的堆空间,
    再程序中根据需要改变,称之为动态数组。
      

  10.   

    同意,可以把数组也看成是一个引用,和其他的一样
    比如file.list()返回的就是一个数组的引用,赋值给files只是把引用指给它,没什么奇怪的