您的位置:首页 > 其它

16.6 创建测试数据

2016-05-23 14:39 197 查看
反射方法getClasses()可以生成所有的嵌套类,而test()fa

16.6.3 从Generator中创建数组

   需要两个转换工具,第一个工具是使用任意的Generator来产生Object子类型的数组,第二个工具接收任意基本类型的包装器类型数组,并产生相应的基本类型数组。

1.public static<T> T[] array(T[] a,Generator<T> gen){

   return new CollectionData<T>(gen,a.length).toArray(a);}

2.public static<T> T[] array(Class<T> type,Generator<T> gen,int size)

{

  T[] a=(T[])java.lang.reflect.Array.newInstance(type.size);

   return new CollectionData<T>(gen,size).toArray(a);}

Collection对象,该对象中所填充的元素是有生成器gen产生的,而元素的数量则由构造器的第二个参数确定。

第二个方法使用反射来动态创建具有恰当的类型和数量的新数组。

泛型不能用于基本类型,而我们确实想用生成器来填充基本类型数组,创建一个转换器,可以接受任意的包装器对象数组,并把他们转换为原声类型。

Converto{

  public static boolean[] primitive(Boolean[] in){}

16.7 Arrays使用功能

在Java.util类库中可以找到Arrays类,它有一套用于数组的static使用方法,起作用有六个基本的方法:equal()用于比较两个数组是否相等;fill()填充。sort排序;binarysearch用于在已经排序的数组中查找元素。toString()产生String;hashcode()产生数组的散列码。Arays.asList接收任意序列的对象专户为数组。

system.arraycopy()复制数组比用for循环复制快很多。

16.7.3 数组元素的比较

public class ComType implements Comparable<ComType>{

  int i;

  int j;

public int compareTo(ComType rv){}

public static Genertor<CompType> generator(){

    return new Generator<ComType>(){

    public CompType next(){

       return new ComType(r.nextInt(100).r.nexInt(100);

   }

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: