Salut,
J'ai un problème je ne sais pas comment ressoudre en Java d'une façon efficace.
Disons que je reçoit une String comme la suivant:
L'ordre des parametres n'est pas fixe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PARAMETER1=value1; PARAMETER2=value2; PARAMETER3=value3; PARAMETER4=value4; PARAMETER5=value5; PARAMETER6=value6; ...
Et je veux parser et decoder cette String pour finalement avoir un object d'une class comme la suivant:
où les valeurs trouvés dans le String soient affectes aux parametres correspondant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class Parameters{ public type1 param1, param2; public type2 param3, param4; public type3 param5; public type4 param6; ... }
Parser la String ne pose pas aucun problème.
Est pour savoir quelle variable de ma class Parameters affecter, la seul solution que je trouve c'est de introduire chaque PARAMETERS string dans un hashtable, qui me donne un numero different pour chaque PARAMETER et apres faire un switch. C-a-d:
En C, un solution plus efficace serait de donner dans la hastable le offset de chaque parametre dans un structure et son type.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 setHastable(){ Hashtable tbl= new Hastable(); tbl.put("PARAMETER1", 1); tbl.put("PARAMETER2", 2); tbl.put("PARAMETER3", 3); ... } decodeParameterString(String paramStr, Object value, Parameter param){ int n = tbl.get(paramStr) switch(n){ case 1: param.parameter1 = (type1) value; break; case 2: param.parameter2 = (type1) value; break; ... } }
Est-ce que en Java il existe une solution plus efficace que celle que j'ai montré ici??
Merci!!
Manu
Partager