[JAVA] initialisation tableau

Fermé
Phinu - 4 janv. 2011 à 06:43
 Phinu - 4 janv. 2011 à 17:36
Bonjour, j'ai une petite question concernant la déclaration d'un tableau en java.

Lors que je déclare une variable de type tableau de cette manière :
int tableau[];

n'est elle pas censée être initialiser a "null" ?

Car quand j'essaie de la tester j'ai le message d'erreur suivant a la compilation :
variable tableau might not have been initialized
A voir également:

2 réponses

guillaumepg Messages postés 13 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 9 janvier 2011
4 janv. 2011 à 07:20
declaration de tableau java

int monTableau[ ] = new int[10];
ou
int [ ] monTableau = new int[10];
0
Utilisateur anonyme
4 janv. 2011 à 07:29
Salut,

Ton tableau est juste déclaré, il n'a pas de taille et donc ne contient aucune donnée.

Ce que tu peux faire:

int[] tableau = new int[10] // par exemple

et ainsi obtenir ton tableau de dimension 10, donc contenant 10 éléments initialisés à zero car c'est un tableau d'int (pas à null).

Un tel tableau a une taille 10 définitive ne pouvant être changée et si tu devais entrer plus de 10 int, la seule solution serait de copier les 10 éléments déjà créés dans un nouveau tableau de taille supérieure à 10 et suffisamment grand afin de poursuivre ton traitement dans ce nouveau tableau.

Ou bien donner une taille beaucoup plus importante dès le départ.
Ou encore, selon la provenance des données, faire un comptage avant d'initialiser le tabeau.

Remarque:

Un tel inconvénient n'existe pas en utilisant ArrayList.

Cordialement,

Dan
0
Merci de ta réponse, mais il me semblait que toutes les variables en java étaient des références sur des objets(un objet de type tableau dans mon exemple) ?
Je ne peux donc pas comparer mes variable de références en JAVA a un pointeur en C par exemple, qui lui existe bien durant toute la vie du programme ?
0