Chers fieffés de Java,
Il s'agit
- d'une question dont j'ai trouvé la solution, mais dont je me demande pourquoi "il faut pousser aussi loin".
- d'éléments String d'une array-source (de libellés), statique et à multiples dimensions, qui sont lus un à un pour être insérés dans une array-cible (de valeurs) de classe ArrayList.
Fragment de l'array-source (de libellés) :
Fragment de l'array-cible (de valeurs) :
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 final static Object[] formTarif_Libellés = { new Object[] { new String( "NomDuFournisseur" ), new String( "blabla" ), new Boolean(Prix.indexés.enBooléen()), new String( "Ne" ), new String( "Nc" ) }, new Object[] // En Français { new String( "Région A" ), new String( "Région B" ), new String( "Région C" ), new Object[] { new String( "Prix pour le produit même" ), new Object[] { new String( "Formule tarifaire" ), ...
Dans la fonction qui importe les libellés un à un et construit l'Array-Liste-cible, pour chaque libellé à importer,
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
22 final static Object[] formTarif_ABC = { new Object[] { new String( "fghj" ), new String( "2009 Q3" ), FormTarif_Libellés.get_FormTarif_Libellés(), // static new BigDecimal( 1.111 ), new BigDecimal( 2.222 ) }, new Object[] // [0] : 2009 Q3 { new Object[] // Région A { new Object[] // Prix du produit même { new String( "Contrat annuel" ), new Boolean(Prix.indexés.enBooléen()), new Object[] { new Object[] { new Object[] { new Object[] { new BigDecimal( 50.00 ), new BigDecimal( 90.90 ) }, ...
je n'ai pas pu écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part String str = formTarif_Libellés[i])[j];j'ai dû écrire"Incompatible types :
found : java.lang.Object
required : java.lang.String
Un casting s'avère nécessaire à chaque niveau ( Object[] aussi) ! Et j'en ai beaucoup à plus de deux niveaux. Pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part new String((String) ((Object[]) formTarif_Libellés[i])[j]);
Merci d'avance.
Partager