2016-10-17 42 views
0

阵列我有具有构造的java,treque,实例化与类吨

public Treque(Class<T> t) { 

} 

我需要实例化具有所述类吨的阵列的一类。我如何实例化它?

+2

https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Array.html#newInstance-java.lang 。类,内部 - –

回答

0

这取决于你的确切目标是什么。如果你想要任意的东西,请反思。如果你只是想传递一个继承一个类的对象,你可以用不同的语法来完成。

由于您的例子是使用类,尝试这些反射的例子:

我想在这里接受的答案是你在找什么。 Java Generics Creating Array from Class

而且多一点点:

public void test(Class<T> t) { 
      T[] a=new T[10];//complie error 

     Object array = java.lang.reflect.Array.newInstance(t, 10);//lots of ambiguity 
     String[] arrT = (String[]) array;//works if you know the final type 

     Object[] anyType = new Object[10]; 
     for(int i=0;i<10;i++) 
       anyType[i] = createObject(t.getName()); 
     //You will need to cast the Object to your desired type 
     } 
     static Object createObject(String className) { 
      //http://www.java2s.com/Code/Java/Reflection/ObjectReflectioncreatenewinstance.htm 
     Object object = null; 
     try { 
      Class classDefinition = Class.forName(className); 
      object = classDefinition.newInstance(); 
     } catch (InstantiationException e) { 
      System.out.println(e); 
     } catch (IllegalAccessException e) { 
      System.out.println(e); 
     } catch (ClassNotFoundException e) { 
      System.out.println(e); 
     } 
     return object; 
    }