2016-10-17 37 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; 
    }