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) :
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" ),
...
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
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 )
                                },
...
Dans la fonction qui importe les libellés un à un et construit l'Array-Liste-cible, pour chaque libellé à importer,
je n'ai pas pu écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
String str = formTarif_Libellés[i])[j];
"Incompatible types :
found : java.lang.Object
required : java.lang.String
j'ai dû écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
new String((String) ((Object[]) formTarif_Libellés[i])[j]);
Un casting s'avère nécessaire à chaque niveau ( Object[] aussi) ! Et j'en ai beaucoup à plus de deux niveaux. Pourquoi ?
Merci d'avance.