2017-11-21 2 views
-4

Ich versuche, eine Methode zu erstellen, die eine Zeichenfolge als Parameter verwendet und dann diese Zeichenfolge verwendet, um eine ArrayList zu benennen und zu erstellen. Aus irgendeinem Grund mag es Java nicht, dass ich eine Zeichenfolge durchlasse, um ihr einen Namen zu geben. Gibt es einen Weg dahin?Kann keine ArrayList mit String erstellen

public Module(String assignmentName){ 
    ArrayList<Assignment> assignmentName = new ArrayList<Assignment>(); 
} 

Jede Hilfe wird sehr geschätzt, danke.

+0

Zeigen Sie, was Sie bereits versucht haben. – CodeMatrix

+0

OK, jetzt, wo wir sehen, was Sie versuchen zu tun, ist klar, dass dies [X/Y-Problem] ist (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Warum möchten Sie, dass die Zeichenfolge, die durch Argument bereitgestellt wird, der Name Ihrer * lokalen * Variable ist? Das macht nicht viel Sinn. Was versuchst du wirklich zu erreichen? Vielleicht posten Sie ein Beispiel dafür, wie Sie diese Variable verwenden möchten. – Pshemo

+0

Sie können einen Laufzeitwert nicht als lokalen Variablennamen verwenden. Es macht auch keinen Sinn, dies zu tun. (Nicht zuletzt, weil die Namen der lokalen Variablen anders als beim Debuggen von Informationen nicht während der Kompilierung beibehalten werden.) Was ist Ihr eigentliches Endziel? –

Antwort

0

Sie können keine Variable mit einem dynamischen Namen erstellen, wenn Sie das wünschen.

Verwenden Sie eine HashMap für solche Fälle. Sie können Ihr Listenobjekt mit Ihrer Zeichenkette als Schlüssel einfügen und es unter Angabe derselben abrufen.

HashMap<String, List<String>> map = new HashMap<>(); 
map.put("yourKeyName", new ArrayList<>(); 
List<String> yourList = map.get("yourKeyName"); 
Verwandte Themen