J'ai une classe Descriptor dont j'ai plusieurs instances en tableau (le tableau "subDescSet"), et une "inner class" Lang qui est intérieure à Descriptor, également avec plusieurs instances de Lang par objet Descriptor, inclus dans un tableau langSet. Voici la déclaration de Descriptor et de sa classe intérieure Lang.
L'initialisation du tableau de langs est faite dans le constructeur de l'instance de Descriptor.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Dans mon application principale je déclare le tableau d'objets Descriptors et j'initialise chacun des Descriptors avec le constructeur, en lui transmettant les paramètres qu'il faut ainsi que le nombre d'objets Lang à créer.
Voici la partie de code où il y a cette création
Or à l'exécution j'ai une erreur de "null pointer exception" sur le tableau LangSet[] parce que celui-ci n'a pas été initialisé. Pourquoi ? J'ai essayé d'initialiser ce tableau non dans le constructeur de son objet parent mais dans une méthode "init" du même parent, mais le résultat est le même. Je ne comprends pas pourquoi mon initialisation "langSet[i]=new Lang(codeArray,type,p1,p2);" n'est pas suivie d'effet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Gabier

 

 
		
		 
         
 

 
			
			

 
   


 Runtime error pour tableau non initialisé
 Runtime error pour tableau non initialisé
				 Répondre avec citation
  Répondre avec citation


 Bravo le coup d'oeil ! Faire l'erreur, passe encore, mais ne pas la voir, c'est là la différence entre le débutant et l'expérimenté.
 Bravo le coup d'oeil ! Faire l'erreur, passe encore, mais ne pas la voir, c'est là la différence entre le débutant et l'expérimenté.
Partager