怎样通过类名,创建一个这个类的数组??

解决方案 »

  1.   

    先声明 在赋值就行啦如 ClassName[] aa;
    aa = new ClassName[10];
      

  2.   

    类名是个字符串啊,可以这么声明吗?
    String ClassName = "xxxx";
    ClassName[] aa;
    aa = new ClassName[10];????????????????????????????
      

  3.   

    ClassName[] aa = new ClassName[n];for(int i = 0; i < n; i++){
    aa[i] = getClass();
    }
      

  4.   

    类名是个字符串啊,可以这么声明吗?
    String ClassName = "xxxx";
    ClassName[] aa;
    aa = new ClassName[10];????????????????????????????
    -----------------------------------------
    这样:
    object[] aa=Class.forName(ClassName)[10];
      

  5.   

    String是一个类名,而ClassName则是这个类的一个对象,一个实例了,你还用“ClassName[] aa;”,那就错了。
      

  6.   

    类名是个字符串,可以这么声明:
    这样:
    String ClassName = "xxxx";
    object[] aa=Class.forName(ClassName)[10];
      

  7.   

    你们这样肯定不行,
    干嘛不直接定义一个Object[] ,呵呵。然后直接往里面放这个类型的实力就可以了。呵呵。
    实例怎么产生?就象JDBC那些Driver类一样也行啊。
    呵呵。 Class.forName(ClassName).getInstance.
      

  8.   

    String ClassName = "xxxx";
    Class type = Class.forName(ClassName);
    Object[] aa = Array.newInstance(type, 10);这样就创建这个类的数组
      

  9.   

    多去看看JDK中的反射机制包,还有对数组的附值是Array.set(array, i, fileVar);
      

  10.   

    ClassName handle[] = new ClassName();
      

  11.   

    错了,是
    ClassName handle[] = new ClassName[Size];
    for(;;)
       赋值
      

  12.   

    你们这样肯定不行,
    干嘛不直接定义一个Object[] ,呵呵。然后直接往里面放这个类型的实力就可以了。呵呵。
    实例怎么产生?就象JDBC那些Driver类一样也行啊。
    呵呵。 Class.forName(ClassName).getInstance.----------------
    对,应该是这样
    String ClassName = "xxxx";
    object[] aa=new object[10];for(int i=0;i<aa.length;i++) aa[i]= Class.forName(ClassName).newInstance();
      

  13.   

    谢谢大家的帮忙
    问题主要是这样的,我有一个数据,前提是我不知道他是什么类型,遍历这个数据找到一些我想要对象,然后再做了一个数据,我用一个ArrayList装载的,当使用ArrayList.toarray()时返回一个Object[]的数据,我在别的地方就不可以强制类型转换了。object[] aa=Class.forName(ClassName)[10];
    试过了,不可以String ClassName = "xxxx";
    object[] aa=new object[10];for(int i=0;i<aa.length;i++) aa[i]= Class.forName(ClassName).newInstance();
    也不可以,虽然他里面是特定的类型,不知道为什么这样以后就变成Object了,无法强制类型转换。Class type = Class.forName(ClassName);
    Object[] aa = Array.newInstance(type, 10);
    再试试,好用马上给分
      

  14.   

    list  //传递近来的数组参数
    list2  //我处理过的Arraylist
    Class cls = Class.forName(list.getClass().getName());
            Object[] aa = (Object[]) java.lang.reflect.Array.newInstance(cls, list2.size());
            for(int i = 0; i<aa.length; i++)
            {
                aa[i] = list2.get(i);
            }
            return aa;但是我强制类型转换的时候竟然出错了,我打了类名,没有问题,不知道为什么
      

  15.   

    同意:shockely(梦想的天空)
    用反射来动态创建一个对象数组
      

  16.   

    public static Object[] newArray(String name, int size) throws ClassNotFoundException {
        return (Object[]) java.lang.reflect.Array.newInstance(Class.forName(name),size);
      }