A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 胡浩 于 2013-5-30 11:33 编辑

Enumeration<FileInputStream> en=new Enumeration<FileInputStream>();
SequenceInputStream ss=new SequenceInputStream();
为什么这个序列流中要传入一个枚举类型?请详解一下。

6 个回复

倒序浏览
想学习学习!
回复 使用道具 举报
首先你得了解序列流的作用,api文档这样说的:
SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。
他是对一个流集合进行读取操作的;
在看看他的版本是从1.0开始的;
那个时候就只有Enumeration(跟enum不同的概念),
List1.2才出现的;

搞清楚了这个问题,所有的问题都解决了

希望对你有用;
黑马云青年为你解答。。
回复 使用道具 举报
Miss小强 发表于 2013-5-27 12:41
首先你得了解序列流的作用,api文档这样说的:
SequenceInputStream 表示其他输入流的逻辑串联。它从输入流 ...

也就是说SequenceInputStream这个流需要操作一个有序的集合,那为什么不可以用Arraylist集合,一定要用
Enumeration
回复 使用道具 举报
所谓序列流,就是要把几个流对象合成一个流,所有序列流的构造函数中要求参数是枚举,
希望对你有帮助
回复 使用道具 举报
胡浩 发表于 2013-5-27 12:52
也就是说SequenceInputStream这个流需要操作一个有序的集合,那为什么不可以用Arraylist集合,一定要用
E ...

上面都说过了:
List集合是1dk1.2才出现的
而序列流是1.0就出现了。这个时候ArrayList还没出生,怎么用???
Enumeration也是1.0出现的。只能用Enumeration;
建议看api文档,一切见分晓。
回复 使用道具 举报
ozt6719393 发表于 2013-5-27 13:44
所谓序列流,就是要把几个流对象合成一个流,所有序列流的构造函数中要求参数是枚举,
希望对你有帮助 ...

楼上此言差矣。
所谓序列就是把一个序列的流,就像工厂里的流水线一样,而不是合成一个流。。。
因此我们也可以不传递一个集合,可以传递多个流对象。。。
看api文档吧。。。一切见分晓。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马