2016-06-02 11 views
-2

Ich möchte eine Methode machen, die Instanz meiner generischen Klasse machen würde. Der Typ dieses Objekts muss durch den angegebenen String angegeben werden. Prototyp sieht wie folgt aus:Instanziieren Objekt der generischen Klasse mit gegebenem Typ in String

public class SomeClass { 


    static BST<?> bst; 

    public static void main(String[] args) 
    { 
     MakeInstance("String"); 
    } 

    static <T extends Comparable<T>> void MakeInstance(String input) 
    { 
     try { 
      bst = (BST<?>) Class.forName(input).newInstance(); 
     } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Ich mag würde zum Beispiel „Integer“ geben und das Verfahren sollte

+4

Mögliches Duplikat [Dynamische allgemeines Typing in Java] (http://stackoverflow.com/questions/7342035/dynamic-generic-typing-in-java) –

Antwort

0

Es gibt nicht so etwas Objekt von BST vom Typ Integer (BST) erstellen, wie reflexiv ein BST schaffen Typ Integer. Sie werden nur ein rohes BST schaffen und werfen es:

bst = new BST(); 
Verwandte Themen