(2)代码如下
import java.util.*; //Generator是个工具类,用于实例化对象的 interface Generator{ T next(); } class BasicGenerator implements Generator { private Class type; public BasicGenerator(Class type) { this.type = type; } public T next() { try { return type.newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } public static Generator create(Class type) { return new BasicGenerator (type); } } //CollectionData是个适配器类,用于把Generator适配到CollectionData上 class CollectionData extends ArrayList { public CollectionData(Generator gen,int quality) { for(int i=0;i CollectionData list(Generator gen,int quality) { return new CollectionData (gen,quality); } }