Java中的数组问题 file.list();返回的是一个数组呀在JAVA中,数组是一个对象(特殊对象),可以使用new或其他如函数返回来赋值, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 danceflash(Wine) ,呵呵,你晕我更晕~~~~~mingjava(学习) ,能具体一点儿么?动态数组如何用的? String[] files = null;files = file.list();这种就属于动态数组,你不用定义它的大小的。 但是: CoolAbu(阿卜-Never Stop(★★★★)) ,String[] files = null;files = file.list();这种情况只能在函数返回值为数组的情况下使用,能实现非这种情况下的动态么? files 只是一个指针String[] files2=files 会指向同一个数组的你可以 String [100] files3; files=files3 这样就可以实现动态数组了 xiyou(溪游) String [100] files3;这样是不能编译的,不信你自己试一试 String[] files 你这样的本身就是一个数组,所以你只有数组才能给它赋值。不是数组不行的。其他的语言好像也没有这种功能呀。 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中的数组都必须是明确大小了的,并且不能改变大小,只有容器可以真正做到动态分配空间,所以可以动态改变大小. FutureStonesoft(丑石)说得很有道理java中是可以允许返回数组的 一句话,就是说声明一个 String[] a,然后让它指向不同的堆空间,再程序中根据需要改变,称之为动态数组。 同意,可以把数组也看成是一个引用,和其他的一样比如file.list()返回的就是一个数组的引用,赋值给files只是把引用指给它,没什么奇怪的 Java把汉字转拼音求实现代码 Java 数据采集 新手继续提问,作业又卡了,for循环有点晕了 一个关于APPLET的问题 空格的转义字符是什么? JBUILDER生成可执行文件的问题,急!! 请教 haspmap 等批量实例化可以么? 关于DB2数据库的连接.为什么总说NO suitable driver. 求一个hashcode算法 DefaultTableModel问题,急!!! 我是個初學者,哪位大俠幫幫我啊!!!!
files = file.list();这种就属于动态数组,你不用定义它的大小的。
String[] files = null;
files = file.list();
这种情况只能在函数返回值为数组的情况下使用,能实现非这种情况下的动态么?
String[] files2=files 会指向同一个数组的你可以 String [100] files3;
files=files3 这样就可以实现动态数组了
这样是不能编译的,不信你自己试一试
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中的数组都必须是明确大小了的,并且不能改变大小,
只有容器可以真正做到动态分配空间,所以可以动态改变大小.
再程序中根据需要改变,称之为动态数组。
比如file.list()返回的就是一个数组的引用,赋值给files只是把引用指给它,没什么奇怪的