2012-08-29 3 views
0

Donc, fondamentalement, en lisant un fichier, chaque ligne de ce fichier contient la description de 3 à 5 instances de deux types d'objets avec 2 à 4 étant le premier type d'objet et le dernier étant un autre type. Le fichier peut contenir jusqu'à 500 lignes. Je vais réutiliser chaque objet de 1 à inconnu mais sur l'échelle des centaines de fois et j'ai besoin de suivre leur statut.JAVA Utiliser une valeur variable comme nom d'instance

Alors que je peux toutes les données dans un tableau et utiliser seulement 5 objets en changeant leurs valeurs constamment qui rendront plutôt difficile de suivre l'état de chaque combinaison de leurs paramètres.

Ce que je veux est de créer mes instances avec des noms tels que FromLine1Obj1, FromLine10Obj3.

Je n'ai pas mentionné le fait que chaque ensemble d'objets d'une même ligne devrait également créer un nouveau thread et que cet ensemble est traité dans ce thread.

+0

Quelles classes façon dont les noms doivent être créés? –

+0

quelque chose comme la ligne de contrat (linenumber) Obj1 = new Contract(); – user1633277

+0

puis Ligne (linenumber) .type = "Vendre" – user1633277

Répondre

0

Pourriez-vous pas utiliser une carte avec le nom comme clé?

0

Vous pouvez stocker votre résultat d'analyse dans une carte, avec comme clé le nom que vous voulez et comme valeur l'instance créée, c'est l'indirection de nom propre dans Java.

4

Vous devez utiliser une carte.

Map<String, MyObject> map = new .... 

map.put("FromLine1Obj1", new MyObject()); 

MyObject mo = map.get("FromLine1Obj1"); 
+0

Merci pour la meilleure réponse à propos de Map, mais il semble être juste un ensemble de tableaux spéciaux avec les fonctions . – user1633277

+0

HashMap utilise un tableau mais pas TreeMap. Quel est votre doute? –

+0

J'ai besoin que chaque ligne soit analysée dans un fil parallèle. Et le nombre de threads est basé sur le nombre de lignes dans mon fichier. – user1633277

1

Si vous lisez le fichier une fois et il ne changera pas après tout - vous pouvez faire une génération de code, comme http://cglib.sourceforge.net/

+0

Le fichier est essentiellement une liste d'instal- lations chargées au démarrage du programme. – user1633277

+0

Est-ce que ça change de compilation en compilation? – jdevelop

+0

Oui, le fichier passe de la compilation à la compilation, il est également modifiable après la compilation. – user1633277

Questions connexes