黑马程序员技术交流社区

标题: 对于数组的一点小疑惑 [打印本页]

作者: 李敬    时间: 2012-8-22 08:33
标题: 对于数组的一点小疑惑

想知道通过字符流得到的字符数组跟自定义带有数据的字符数组有什么区别呢?

写个例子吧

FileReader fr newFileReader("abc.txt");//这里abc.txt假如中是abcdef
char[] ch =new char[6];
fr.read(ch);//这里是将什么写到ch里了,ch里有没有什么数据呢?
char[] arr = new char[]{'a','b','c','d','e','f'}

作者: 霍明波    时间: 2012-8-22 09:01
      要定义空的数组,因为要往数组里面添加数据,当然如果添加的时候原来有的话要覆盖原来的内容,如果你用6个长度的带有内容的数组的话比如你写的char[] arr = new char[]{'a','b','c','d','e','f'},当添加的数据大于6个字符的话应该就没有关系了,都给覆盖掉了 ,但是如果添加5的话,就会有一个问题,字符'f'会被读取出来。
     我是这么理解的  希望对你有帮助。


作者: 黄敏    时间: 2012-8-22 09:01
FileReader fr newFileReader("abc.txt");//这里abc.txt假如中是abcdef
char[] ch =new char[6];                        
fr.read(ch);//这里是将什么写到ch里了,ch里有没有什么数据呢?   ,当然是通过fr.read()读取abc.txt文件中的数据,然后存到你定义的ch数组里了,既然存进去了就有数据了,API文档中有这个方法的介绍,对应截图看看
char[] arr = new char[]{'a','b','c','d','e','f'}


至于你说的通过字符流得到的字符数组跟自定义带有数据的字符数组有什么区别,我觉得没什么什么区别,都是字符数组嘛,要是有区别,那就是一个是通过流从文件中读取的数据,一个是自己给的的数据,数据源不同。

作者: 李知伦    时间: 2012-8-22 11:42
你在后面加一句System.out.println(Arrays.equals(ch,arr));看看结果




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2