黑马程序员技术交流社区
标题:
关于Enumeration,求指教?
[打印本页]
作者:
阿凡提不买驴
时间:
2013-7-22 10:29
标题:
关于Enumeration,求指教?
本帖最后由 杨兴庭 于 2013-7-23 17:43 编辑
public static void merge() throws IOException{
ArrayList<FileInputStream> al=new ArrayList<FileInputStream>();
for(int x=1;x<=3;x++)
al.add(new FileInputStream("F:\\"+x+".jpg"));
final Iterator<FileInputStream> it=al.iterator();
Enumeration<FileInputStream> en=new Enumeration<FileInputStream>(){
@Override
public boolean hasMoreElements() {
// TODO Auto-generated method stub
return it.hasNext();
}
@Override
public FileInputStream nextElement() {
// TODO Auto-generated method stub
return it.next();
}
};
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream("F:\\2.jpg");
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read())!=-1)
fos.write(buf,0,len);
fos.close();
sis.close();
}
复制代码
中间Enumeration的匿名内部类,什么时候去把集合中的数据加入进去了?而且也没有循环
作者:
草貌路飞
时间:
2013-7-22 10:44
没有把数据加进去,它实现的自己的迭代方法,本质执行的还是外面的集合的迭代器的方法。
作者:
wang100753
时间:
2013-7-22 11:04
java Enumeration(枚举类型)
1:跟类定义一样,枚举类型可以单独放在一个文件里,当一个枚举类型用public修饰时,它对其他包可见,否则只对同一个包中的类可见,这和类定义是一样的。
2:标识符 MONDAY, TUESDAY等就称为枚举常量(enumeration constants)
3:每一个枚举常量被隐式的声明成Day的一个public、static成员,而且其类型为Day,亦就是说这些常量是self-typed的
作者:
Super_Class
时间:
2013-7-22 16:36
没有添加进去,是组合模式调用了Iterator的方法
作者:
阿凡提不买驴
时间:
2013-7-24 22:58
还是不懂,求指教,觉得只是复写了,可是没有什么代码执行,例如集合里面的add什么,主要是想知道,这个匿名内部类还有迭代器具体是怎么实现迭代添加数据的?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2