problème avec une constante tableau
Bonjour,
Je rencontre un problème de compréhension lié aux variables de type tableau.
Voici un exemple de code fonctionnel :
Code:
1 2 3 4 5 6 7 8 9
| public class ceciestuntest {
private final int valeurTest;
public ceciestuntest(int val) {
valeurTest = val;
System.out.println("Valeur donnée : " + val);
}
} |
Ce code est parfaitement fonctionnel. Vous allez me dire, il est où le problème lié à un tableau ? J'y viens...
Voici un code équivalent mais où j'utilise cette fois un tableau d'entier :
Code:
1 2 3 4 5 6 7 8 9
| public class ceciestuntest {
private final int[] valeursTest = {1,2,3,4};
public ceciestuntest() {
System.out.println("Valeurs connues :");
for (int i: valeursTest) System.out.println(i);
}
} |
Là aussi, pas de problème, ce code fonctionne. Maintenant faisons cela :
Code:
1 2 3 4 5 6 7 8 9 10
| public class ceciestuntest {
private final int[] valeursTest;
public ceciestuntest(int v1, int v2, int v3, int v4) {
valeursTest = {v1,v2,v3,v4};
System.out.println("Valeurs donnees :");
for (int i: valeursTest) System.out.println(i);
}
} |
J'utilise Netbeans, et lorsque je rédige la ligne "valeursTest=...", Netbeans m'indique une erreur de syntaxe en précisant qu'il manque le caractère ';' ?
De toute évidence, il n'aime pas voir des accolades ici.
Cependant, si je passe par l'intermédiaire d'un autre tableau, alors il est d'accord :
Code:
1 2 3 4 5 6 7 8 9 10 11
| public class ceciestuntest {
private final int[] valeursTest;
public ceciestuntest(int v1, int v2, int v3, int v4) {
int[] valeursTmp = {v1,v2,v3,v4};
valeursTest = valeursTmp;
System.out.println("Valeurs donnees :");
for (int i: valeursTest) System.out.println(i);
}
} |
Je n'arrive pas à comprendre pourquoi je ne peux pas donner directement {v1,v2,v3,v4} à valeursTest ?