黑马程序员技术交流社区
标题:
新手提问。
[打印本页]
作者:
疯子的昨天
时间:
2014-1-5 22:15
标题:
新手提问。
这两天看到IO流中的File方法。
看到了这样一段代码
File dir = new File("D:");
String[] arr =dir.list();
for (String name :arr)
{System.out.println(name);}
就是这段话 毕老师再用高级FOR对这个数组进行遍历。我想不明白毕老师为什么要进行遍历?不是直接用
System.out.println(air);就可以打印这个数组了吗?
作者:
@翱翔@
时间:
2014-1-5 22:47
因为直接用System.out.println(air);打印的是地址值,所以要遍历。
作者:
杨丽静
时间:
2014-1-5 22:51
直接打印System.out.println(arr);打印出来的应该是这个[Ljava.lang.String;@18a992f这是输出数组的地址值,用高级for循环输出是方便对数组元素的操作
作者:
黄晓鑫
时间:
2014-1-5 23:04
System.out.println(air);打印的是地址值.高级for是返回下一个字符串
作者:
忘记了
时间:
2014-1-5 23:32
直接运行System.out.println(air);
是调用了数组的toString()方法.
String类的toString方法是输出数组的所有元素.
遍历是一个一个的获取元素,这样就可以对每个元素进行操作.毕老师在这里的操作时直接打印输出.
举个栗子:
比如要求是将流获取到的文件名,去掉后缀名后打印输出.
如果直接System.out.println(air);就做不到了吧.
只能通过遍历获取到每一个元素的名字,再对名字进行去后缀名操作.然后输出.
作者:
jing迪
时间:
2014-1-6 07:56
System.out.println(air);打印的是地址值.高级for是返回下一个字符串
作者:
周志彬
时间:
2014-1-7 09:26
而且高级for能操作air.list()
syso就不能
作者:
黑马IT学员
时间:
2014-1-7 09:44
这个直接输出,他会输出目录中在内存中的地址,而不是你想要的内容,所以要循环遍历输出每一个
作者:
王丽洁
时间:
2014-1-8 07:27
我的见解哦,可能是输的是元素的地址
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2