下面java代码的CollectionData适配器是否有用
大家讲道理
大家讲道理 2017-04-17 13:09:20
0
0
348

看《java编程思想》遇到的问题:在讲容器的时候,提出一种用生成器来填充容器的方法:
代码如下:

javapublic class CollectionData extends ArrayList{ public CollectionData(Generator gen, int quantity){ for(int i=0; i CollectionData list(Generator gen, int quantity){ return new CollectionData(gen, quantity); } } class Government implements Generator { String[] foundation = ("strange women lying in ponds " + "distributing swords is no basis for a system of " + "government").split(" "); private int index; public String next() { return foundation[index++]; } } public class CollectionDataTest { public static void main(String[] args) { Set set = new LinkedHashSet( new CollectionData(new Government(), 15)); // Using the convenience method: set.addAll(CollectionData.list(new Government(), 15)); System.out.println(set); } }

我理解这是一种适配器设计模式的应用,通过 new CollectionData(new Government(), 15)可以一次生成给定数量的某个类的对象。 但是不知道为什么要以这么一种繁琐的方式. 举个例子
我想生成10个Coffee对象..

javapublic class CopyOfCollectionDataTest { public static void main(String[] args) { Set set2 = new LinkedHashSet(); int i = 10; while(i !=0){ set2.add(new Coffee()); i--; }

觉得这段代码已经足够,如果生成其他类型的对象只需要修改Set类型参数即可呀。
所以问题是上面的CollectionData适配器是否有用?谢谢!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답 (0)
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!