Class className = String.class;
(Class)className[] str = new (Class)className[10];
这个代码不能编译。请问如何实现动态的数组类型?谢谢!

解决方案 »

  1.   

    Class<String> [] c = new Class[10];
      

  2.   

    Class是final的 也不能自构造
      

  3.   

    你可以用Arraylist<你要的类型>代替这种数组声明,当然
    Class <String> [] c = new Class[10];也可以
      

  4.   

    Class className = String[].class; 
    Object newArray=Array.newInstance(className.getComponentType(),10);
      

  5.   

    问super("man")我用反射机制比较少,
    看来的在深入学习一下反射,super("man")给一些建议
      

  6.   

    楼主的想法,真单纯,我也想和你一样,呵呵
    是对的Class className = String[].class;  
    Object newArray=Array.newInstance(className.getComponentType(),10);
    String[] ss = String[].class.cast( newArray);
    for(int i=0;i<ss.length;i++){
    System.out.println(i);
    }结果
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9