2012-07-26 3 views
2

Est-il possible d'utiliser un nom de variable pour manipuler un tableau?Java Utiliser le nom de variable pour manipuler le tableau

Par exemple:

String addto = "database"; 
database = new String[2]; 

Je veux ajouter des valeurs dans le tableau « base de données » nom, qui ne dispose que d'une colonne.

Serait-il possible de faire quelque chose comme ...

addto[0] = hi; 
addto[1] = hi1; 

au lieu de

database[0] = hi; 
database[1] = hi1; 

etc? Utilisez la valeur dans "addto" ("base de données") pour manipuler le tableau?

Merci!

modifier: modifier Chaîne addto à "base de données" (avec "")

+0

Est-ce que le nom du tableau, par exemple 'database ', provient de l'entrée de l'utilisateur, ou quoi? – mellamokb

+0

Oui, il vient de l'entrée de l'utilisateur – 01jayss

+1

Vous pouvez chercher des réflexions http://docs.oracle.com/javase/tutorial/reflect/special/arrayInstance.html et http://java.sun.com/developer/technicalArticles/ ALT/Reflection/ – kosa

Répondre

5

Vous voudriez utiliser quelque chose comme:

Map<String, String[]> arrays = new HashMap<String, String[]>(); 
arrays.put("database", new String[2]); 

... 

map.get(addTo)[0] = hi; 
map.get(addTo)[1] = hi1; 
+0

cela crée-t-il un nouveau tableau nommé "base de données"? – 01jayss

+0

@ 01jayss: Non, les objets n'ont pas de noms. Il crée un nouveau tableau et en fait la valeur associée à la clé "base de données" dans une carte. –

0
String addto = "database"; 
database = new String[2]; 
addto[0] = hi; 
addto[1] = hi1; 

Ce code ne compilera pas parce que addto est une chaîne et ne prend pas en charge l'indexation avec []. Pour faire quelque chose de similaire à ceci, vous pouvez utiliser un java.util.Map comme illustré par Jon Skeet.

Questions connexes