java String zur Klasse

7

Ich habe einen Bean-Klassennamen als "Bean1". In meiner Hauptmethode habe ich eine Zeichenfolge, die den Namen der Variablen enthält. String str="Bean1"; Nun, wie kann ich die String-Variable verwenden, um die Klasse zu erhalten und auf die Bean-Eigenschaften zuzugreifen. Ich bin neu in Java. bitte hilfe.

    
MANU SINHA 27.10.2010, 06:47
quelle

3 Antworten

10

Sie sollten Java Reflection API verwenden:

%Vor%

Dann können Sie c.newInstance () um deine Klasse zu instanziieren. Diese Methode verwendet einen Konstruktor, der keine Parameter benötigt.

Siehe Details hier: Ссылка

    
Kel 27.10.2010 06:49
quelle
8

Schritt für Schritt:

%Vor%

Für diesen letzten Schritt müssen Sie den Typ der Bean oder einen Supertyp mit den Eigenschaften kennen, auf die Sie zugreifen müssen. Und ich denke, dass Sie es nicht wissen, wenn alle Informationen, die Sie über die Klasse haben, eine Zeichenfolge mit ihrem Namen sind.

Mit Reflektion können Sie auf die Methoden der Klasse zugreifen, aber in diesem Fall müssen Sie die Namen und Eingabeparameter der Methoden kennen, die aufgerufen werden sollen. Wenn Sie mit dem Beispiel fortfahren, ändern Sie die Schritte 3 und 4:

%Vor%

Vielleicht müssen Sie Ihr Design überdenken, wenn Sie nicht alle Informationen zur Laufzeit zur Verfügung haben.

    
Tomas Narros 27.10.2010 07:14
quelle
2

Duplikat von Unterstützt Java Variablen?

Java unterstützt nicht das dynamische Abrufen einer Variablen basierend auf einer Zeichenfolge ihres Namens (auch als Variablenvariablen bezeichnet). Es ist wahrscheinlich eine andere Art zu tun, was Sie zu tun versuchen, wie zum Beispiel ein Map-Objekt, um Namen zu Beans zuzuordnen. Wenn Sie Ihre Frage bearbeiten, um zu erklären, was Sie genauer machen möchten, haben wir vielleicht konkretere Antworten.

(Wenn andererseits die Frage eine Klasse namens Bean1 war, dann hat Kel Recht.)

    
Nick 27.10.2010 07:03
quelle

Tags und Links